Thanks Mike,
 A very clear explanation.

Brian
  ----- Original Message ----- 
  From: Mike 
  To: [email protected] 
  Sent: Tuesday, January 27, 2009 7:13 PM
  Subject: [amibroker] Re: Simple Problem with "flip" function and/or 
"Plotshapes"


  > // Buy = PlotShapes(shapeUpArrow,colorGreen);
  > // Sell = PlotShapes(shapeDownArrow,colorRed);

  Hi,

  The above lines are bad. You are essentially saying to set the Buy 
  signal to be equal to the result returned by calling PlotShapes, 
  which is meaningless. Same for Sell.

  Buy*ShapeupArrow is just an expression that evaluates to either zero 
  (Buy = false; i.e. 0) or non zero (Buy = not false; i.e. not 0). 

  Usually Buy has been set to a binary value zero vs. one. So, 
  Buy*ShapeupArrow usually evaluates to zero or the value of 
  ShapeupArrow, meaning that we either plot zero (do nothing) or an up 
  arrow.

  However, it is possible for Buy to hold values other than zero or one 
  (i.e. any non zero value is still "true"). So be aware of it before 
  using a multiplier like that in the plot statements. In your 
  particular case, Flip returns strictly zeroes and ones into the Buy. 
  So, you're fine.

  Mike

  --- In [email protected], "brianw468" <wil...@...> wrote:
  >
  > 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
  >



   

Reply via email to