I think you will find this an easier solution inTrade = Flip(Buy,Sell) - 1;
-- Cheers Graham AB-Write >< Professional AFL Writing Service Yes, I write AFL code to your requirements http://www.aflwriting.com
----- Original Message ----- *From:* Alain Baur <[EMAIL PROTECTED]> *To:* [email protected] *Sent:* Thursday, March 22, 2007 3:48 AM *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 ------------------------------
