Close is an array LastValue(close) is number try this:
LastClose = LastValue(Close); if( LastClose < 5) boxsize = 0.10; else if( LastClose >=5 AND LastClose < 10) boxsize = 0.20; else if( LastClose >=10 AND LastClose < 20) boxsize = 0.50; else if( LastClose >=20 AND LastClose < 100) boxsize = 1.00; else if( LastClose >=100 AND LastClose < 200) boxsize = 2.00; else if( LastClose >=200 AND LastClose < 500) boxsize = 5.00; else if( LastClose >=500 AND LastClose < 1000) boxsize = 10.00; else if( LastClose >=1000 AND LastClose < 2000) boxsize = 20.00; else if( LastClose >=2000 AND LastClose < 5000) boxsize = 50.00; ---------------------------------------------------------------------- --- In [email protected], "Gary Nielson" <[EMAIL PROTECTED]> wrote: > > I am trying to figure out how I can get this excellent script to draw box > sizes based on Investors Intelligence's standards. My thinking is I could > covert the "1" in: > *if*( scaling == "Traditional") Box = Param("Box", 1, 0.2, 10, 0.1); > > to a variable called "boxsize" and do something like this: > if( Close < 5) boxsize = 0.10; > else > if( Close >=5 AND Close < 10) boxsize = 0.20; > else > if( Close >=10 AND Close < 20) boxsize = 0.50; > else > if( Close >=20 AND Close < 100) boxsize = 1.00; > else > if( Close >=100 AND Close < 200) boxsize = 2.00; > else > if( Close >=200 AND Close < 500) boxsize = 5.00; > else > if( Close >=500 AND Close < 1000) boxsize = 10.00; > else > if( Close >=1000 AND Close < 2000) boxsize = 20.00; > else > if( Close >=2000 AND Close < 5000) boxsize = 50.00; > > This is giving me an Error 6, telling me the IF statement has to be numeric > or boolean, that I can not use array here, please use array subscript > operator to access array elements. I read up on array subscript operators > and do not understand it enough. Can someone guide me on how to write this > correctly? Will my approach work? Any help much appreciated. > > > On 4/25/07, Don Lindberg <[EMAIL PROTECTED]> wrote: > > > > Horray!!!! That did it !! Turning Plot Grid to NO and Clicking on the > > chat gives me the values. Thanks to all who helped solve this problem! > > > > Don Lindberg > > > > > > ------------------------------ > > > > *From:* [email protected] [mailto:[EMAIL PROTECTED] *On > > Behalf Of *Amon Ra > > *Sent:* Wednesday, April 25, 2007 2:09 AM > > *To:* [email protected] > > *Subject:* RE: [AmiBroker] Re: Identifying Pnf Patterns > > > > > > > > You must click on the chart and the grids will apeared > > > > *Don Lindberg <[EMAIL PROTECTED]>* wrote: > > > > > > > > And here is the Code I am using: > > > > _SECTION_BEGIN("Point & Figure w Values adj"); > > > > *GraphXSpace* = 5; > > > > > > > > SetChartBkColor(ParamColor("BackGroundColor", *colorLightYellow*)); > > > > GraphColor = ParamColor("GarphColor",*colorBlack*); > > > > GridColor = ParamColor("GridColor", *colorBlack*); > > > > > > > > Scaling = ParamList("Scaling Method", "Traditional|Percentage|AVG True > > Range"); > > > > > > > > *if*( scaling == "Traditional") Box = Param("Box", 1, 0.2, 10, 0.1); > > > > *else* > > > > *if*( scaling == "Percentage") Box = Param! < /font>("Box ", 1, 0.2, > > 10, 0.1)/100 * LastValue(*C*); > > > > *else* > > > > *if*( scaling == "AVG True Range") Box = Param("Box", 1, 0.3, 5, 0.1) * > > LastValue( ATR (20)); > > > > > > > > > > > > > > > > shiftChart =0; > > > > shiftLastClose =1; > > > > shiftGrid =7; > > > > shiftPriceAxis = 2; > > > > > > > > > > > > Reverse = Param("Reverse", 3, 1, 5); > > > > j = 0; > > > > PFL[0] = Box * ceil(*Low*[0]/Box) + Box; > > > > PFH[0] = Box * floor(*High*[0]/Box); > > > > direction = 0; > > > > > > > > > > > > *for*( i = 1; i < *BarCount*; i++ ) > > > > { > > > > *if*(direction[j] == 0) > > > > { > > > > *if*(*Low*[i] <= PFL[j] - Box) > > > > { > > > > PFL[j] = Box * ceil(*Low*[i]/Box); > > > > } > > > > *else* > > > > { > > > > *if*(*High*[i] >= PFL[j] + Reverse*Box) > > > > { > > > > j++; > > > > direction[j] = 1; > > > > PFH[j] = Box * floor(*High*[i]/Box); > > > > PFL[j] = PFL[j - 1] + Box; > > > > > > > > } > > > > } > > > > } > > > > *else* > > > > { > > > > *if*(*High*[i] >= PFH[j] + Box) > > > > { > > > > PFH[j] = Box * floor(*High*[i]/Box); > > > > } > > > > *else* > > > > { > > > > *if*( *Low*[i] <= PFH[j] - Reverse * Box ) > > > > { > > > > j++; > > > > direction[j] = 0; > > > > PFH[j] = PFH[j - 1] - Box; > > > > PFL[j] = Box * ceil(*Low*[i]/Box); > > > > > > > > } > > > > } > > > > } > > > > } > > > > delta = *BarCount* - j -1; > > > > direction = Ref(direction, - delta); > > > > Hi = Ref(PFH, -delta) + Box/2; > > > > Lo = Ref(PFL, -delta)- Box/2; > > > > Cl = IIf(direction == 1, Hi, Lo); > > > > Op = IIf(direction == 1, Cl - Box, Cl + Box); > > > > > > > > > > > > > > > > > > > > PlotOHLC(Op, Hi, Lo, Cl,"", GraphColor , *stylePointAndFigure*|* > > styleNoLabel*, 0, 0 ,shiftChart); > > > > > > > > > > > > > > > > Last = Ref( LastValue(*C*), -(*BarCount*-1)); > > > > Plot( Last,"", *colorRed*,*styleNoLine*|*styleDots*, 0 , 0, > > shiftLastClose); > > > > > > > > // selected value > > > > Value= IIf(direction>0, SelectedValue(Hi)-box/2, SelectedValue(Lo)+box/2); > > > > > > > > //---------------------------------------------------------------- ------- > > > > // GRID CONSTRUCTION > > > > //---------------------------------------------------------------- ------ > > > > > > > > PlotGridLines = ParamToggle("PlotdGrid", "Yes! |No", 0) ; > > > > > > > > > > > > > > > > *if* (PlotGridLines) > > > > { > > > > begin = SelectedValue(BarIndex()); > > > > end = LastValue(BarIndex()); > > > > per! iod = en d-begin +1; > > > > > > > > *if*( begin<end) > > > > { > > > > > > > > > > > > ScreenHigh =LastValue( HHV(cl, period )); > > > > ScreenLow =LastValue( LLV( Cl, period) ); > > > > > > > > > > > > top= LineArray( begin-shiftGrid, screenHigh, end, screenhigh, 0 , 1); > > > > Bot= LineArray( begin-shiftGrid, screenlow, end, screenLow, 0, 1); > > > > > > > > Plot( top, "", gridColor,*styleLine*|*styleNoLabel* , 0, 0,shiftGrid); > > > > Plot( bot, "", gridColor,*styleLine*|*styleNoLabel*, 0 , 0 , shiftGrid); > > > > > > > > > > > > VerticalGrid = IIf ( BarIndex() >= begin, IIf(direction==1, screenHigh, > > screenLow), *Null*); > > > > > > > > Plot (VerticalGrid, "", gridColor, *styleStaircase*| *styleNoLabel*, 0,0, 1 > > ); > > > > > > > > > > > > format = 8.2; > > > > > > > > > > > > > > > > *for* ( n=LastValue(bot); n< LastValue(top) - 0.5*box; n = n+box) > > > > { > > > > > > > > Plot( bot , "", gridColor, *styleLine*|*styleNoLabel*, 0, 0,shiftGrid); > > > > > > > > > > > > text = NumToStr(LastValue(bot) + 0.5*box, format); > > > > xposition = *BarCount*+shiftPriceaxis; > > > > yPosition = LastValue(bot)+0.27*box; > > > > > > > > PlotText(text, xPosition , yPosition, *colorGreen*); > > > > bot = bot + box; > > > > > > > > } > > > > } > > > > > > > > } > > > > > > > > > > > > //---------------------------------------------------------------- ----- > > > > // TITLE > > > > //---------------------------------------------------------------- ------ > > > > > > > > *Title* = "\n" + > > > > " Instrument : " + Name() + FullName()+"\n " + > > > > "Formula : " + " Point & Figure (High/Low Range)" + "\n " + > > > > "Box : " + NumToStr(Box, 4.4) + " " + > > > > "Reverse : " + NumToStr(Reverse, 2.0) + "\n " + > > > > "ATR : " + WriteVal(LastValue(ATR(100)), format = 4.4); > > > > _SECTION_END(); > > ------------------------------ > > > > *From:* [email protected] [mailto:[EMAIL PROTECTED] *On > > Behalf Of *apfxtrader > > *Sent:* Wednesday, April 25, 2007 12:16 AM > > *To:* [email protected] > > *Subject:* [amibroker] Re: Identifying Pnf Patterns > > > > > > > > Don, > > > > Can you show a picture of what you have > > > > > > > > > > ------------------------------ > > > > Ahhh...imagining that irresistible "new car" smell? > > Check out new cars at Yahoo! Autos.<http://us.rd.yahoo.com/ evt=48245/*http:/autos.yahoo.com/ new_cars.html;_ylc=X3oDMTE1YW1jcXJ2BF9TAzk3MTA3MDc2BHNlYwNtYWlsdGFncwRzbGsDbmV3LWNhcnM- > > > > > > > > > > > -- > Gary Nielson >
