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
