[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: Identifying Pnf Patterns



PureBytes Links

Trading Reference Links

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 amibroker@xxxxxxxxxxxxxxx, "Gary Nielson" <gary.nielson@xxx> 
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 <dlindber@xxx> 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:* amibroker@xxxxxxxxxxxxxxx 
[mailto:amibroker@xxxxxxxxxxxxxxx] *On
> > Behalf Of *Amon Ra
> > *Sent:* Wednesday, April 25, 2007 2:09 AM
> > *To:* amibroker@xxxxxxxxxxxxxxx
> > *Subject:* RE: [AmiBroker] Re: Identifying Pnf Patterns
> >
> >
> >
> > You must click on the chart and the grids will apeared
> >
> > *Don Lindberg <dlindber@xxx>* 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:* amibroker@xxxxxxxxxxxxxxx 
[mailto:amibroker@xxxxxxxxxxxxxxx] *On
> > Behalf Of *apfxtrader
> > *Sent:* Wednesday, April 25, 2007 12:16 AM
> > *To:* amibroker@xxxxxxxxxxxxxxx
> > *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
>




Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html
 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/