The following simple program illustrates an intriguing problem I encountered when trying to develop a complicated trading system. //Test Program fast = MA(C,15); slow = MA(C,50); Buy = Cross(fast,slow); Sell = Cross(slow,fast); Buy = Flip(Buy,Sell); Sell = Flip(Sell,Buy); Plot(fast,"fast",colorRed); Plot(slow,"slow",colorGreen); PlotShapes(Buy*shapeUpArrow,colorGreen); PlotShapes(Sell*shapeDownArrow,colorRed); // Buy = PlotShapes(shapeUpArrow,colorGreen); // Sell = PlotShapes(shapeDownArrow,colorRed);
When used as shown, it works as intended. i.e. I get "Up" arrows for each bar while the fast MA remains above the slow MA, and "Down" arrows for the converse situation. However, if I use the alternative Plot statements that are shown "commented out", I get Up and Down arrows on ALL bars. Can anyone explain this? I need to resolve this before moving on to bigger and better things as I wish to use "flip" with arrays other than Buy and Sell. Incidentally, I have never found a reference to the "Buy*ShapeupArrow" format in the manual, though there are many examples in the AFL library. Brian