Dear Barry,

Thank you very much for your coding helping hand.
I just added more variables PlusV0 and MinusV0 as follow. 

Thank a bunch for your kindness.
Attawoot


PlusV=0;
PlusStay=0;
MinusV=0;
MinusStay=0;

PlusV0 = C > Ref(C,-1) ;
MinusV0 = C < Ref(C, -1) ;


PlusStay = C == Ref(C,-1) AND BarsSince(MinusV0) > BarsSince(PlusV0);
PlusV = C > Ref(C,-1) OR PlusStay;
MinusStay = C == Ref(C,-1) AND BarsSince(MinusV0) < BarsSince(PlusV0);
MinusV = C < Ref(C, -1) OR MinusStay;
printf("TEst = " + NumToStr(BarsSince (MinusV != Ref(MinusV,-1)), 1.3));

Plot(C, "Close", colorBlack, ParamStyle( "Price Style", styleBar, maskPrice ) );
Plot(plusStay, "PlusStay", colorBlue, styleOwnScale);
Plot(MinusStay, "MinusStay", colorBrown, styleOwnScale);

Plot(PlusV, "PlusV", colorBlue, styleDashed | styleOwnScale);
Plot(MinusV, "MinusV", colorBrown, styleDashed | styleOwnScale);

PlotShapes(plusV * shapeUpArrow, colorGreen, 0, L, -5 );
PlotShapes(MinusV * shapeDownArrow, colorRed, 0, H, -5 );





--- In amibroker@yahoogroups.com, "Barry Scarborough" <razzba...@...> wrote:
>
> Is this what you are trying to do?
> 
> PlusV=0;
> PlusStay=0;
> MinusV=0;
> MinusStay=0;
> 
> PlusStay = C > Ref(C,-1) AND BarsSince(MinusV) > BarsSince(PlusV);
> PlusV = C > Ref(C,-1) OR PlusStay;
> MinusStay = C < Ref(C,-1) AND BarsSince(MinusV) < BarsSince(PlusV);
> MinusV = C < Ref(C, -1) OR MinusStay;
> printf("TEst = " + NumToStr(BarsSince (MinusV != Ref(MinusV,-1)), 1.3));
> 
> Plot(C, "Close", colorBlack, ParamStyle( "Price Style", styleBar, maskPrice ) 
> );
> Plot(plusStay, "PlusStay", colorBlue,  styleOwnScale);
> Plot(MinusStay, "MinusStay", colorBrown,  styleOwnScale);
> Plot(PlusV, "PlusV", colorBlue, styleDashed | styleOwnScale);
> Plot(MinusV, "MinusV", colorBrown, styleDashed | styleOwnScale);
> 
> PlotShapes(plusV      * shapeUpArrow, colorGreen,     0, L, -5 );
> PlotShapes(MinusV     * shapeDownArrow, colorRed,     0, H, -5 );
> 
> 
> Barry
> 
> --- In amibroker@yahoogroups.com, "attawootw2" <attawootw2@> wrote:
> >
> > Please help , I'm unable to code the following : 
> > 
> > Plus variable to register 1 when the close has positive change and also 
> > register 1 for the following unchanged close 
> > 
> > Minus variable to register 1 when the close has negative change and also 
> > register 1 for the following unchanged close 
> > 
> > I have tried coding the following but did not work 
> > 
> > PlusV=0;
> > PlusStay=0;
> > 
> > MinusV=0;
> > MinusStay=0;
> > 
> > PlusStay = IIf ( (C-Ref(C,-1) == 0 )AND  BarsSince (MinusV != 
> > Ref(MinusV,-1)) > BarsSince (PlusV != Ref(PlusV,-1)) , 1 , 0 ) ;
> > 
> > PlusV       = IIf ( C-Ref(C,-1) > 0 OR PlusStay, 1 , 0 )  ; 
> > 
> > 
> > MinusStay = IIf ( (C-Ref(C,-1) == 0 )AND  BarsSince (MinusV != 
> > Ref(MinusV,-1)) < BarsSince (PlusV != Ref(PlusV,-1)) , 1 , 0 ) ;
> > 
> > MinusV      = IIf ( C-Ref(C,-1) < 0 OR MinusStay, 1 , 0 )  ; 
> > 
> > 
> > It only register 1 when there is change in close but does not register 1 
> > for the following unchanged C which I would like to register 1 following 
> > the most recent Plus or Minus Signals whichever may be the case.
> > 
> > Thank you.
> >
>


Reply via email to