Alain,

 

I think the BarBuy and BarSell variables are initialized with the value of
NULL for the first bars until ValueWhen functions find values.  Try creating
and initializing your BarBuy and BarSell variables to zero before your
ValueWhen() statements:

 

BarBuy = 0;

BarSell = 0;

 

Regards,

 

David

 

  _____  

From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf
Of Alain Baur
Sent: 03/22/2007 3:48 AM
To: [email protected]
Subject: [amibroker] In Trade Index

 

Hi

I would like to create an index ( "InTrade") which indicates if i am On the
market or no.

 

This formula works well but only after the two first trades (Buy then sell
or sell then Buy)

 

SetChartOptions(1,chartShowDates);

GraphXSpace = 10 ;

Plot(Close, "C", colorBlack, styleCandle);

X = BarIndex();

MA10 = MA(C, 10) ;

MA50 = MA(C, 50);

Plot(MA10, "MA10", colorBlue, styleLine);

Plot(MA50, "MA50", colorRed, styleLine);

Buy = Cross(MA10, MA50);

Sell = Cross(MA50, MA10);

BarBuy = ValueWhen(Buy, X, 1);

BarSell = ValueWhen(Sell, X, 1);

PlotShapes(IIf(Buy, shapeUpArrow, shapeNone), colorGreen, 0, L, -12); 

PlotShapes(IIf(Sell, shapeDownArrow, shapeNone), colorRed, 0, H, -12); 

intrade = IIf( BarBuy > BarSell , 1, -1);

Title = " " + Name() + " - " + Date() + " - BarBuy = " + BarBuy + " -
BarSell = " + BarSell 

+ " - Intrade = " + intrade + " " ;

 Is it possible to write an other formula which works since the beginning of
the Array ?  

 

 

Thank's for your response

 

Reply via email to