hi,

I believe because break has only recently been added in the beta version of 
Amibroker along with "switch" and "continue"

Further the code I posted earlier I adjusted a little. I post it because 
somebody asked for it. Triggerpercentage on the short side was not implemented 
properly,

rgds, Ed




waitPeriod = 10; 
triggerPercentage = 0.02; 

SetupLong = ExRemSpan(C < BBandBot(C, 20, 2), waitPeriod); 
SetupPriceLong = ValueWhen(SetupLong,H) + ValueWhen(SetupLong,H) * 
triggerPercentage; 

Buy = Cross(H, SetupPriceLong) && BarsSince(SetupLong) < waitPeriod; 
BuyPrice = SetupPriceLong; 

SetupShort = ExRemSpan(C > BBandTop(C, 20, 2), waitPeriod); 
SetupPriceShort = ValueWhen(SetupShort,L) -  ValueWhen(SetupShort,L) * 
triggerPercentage; 

Short = Cross(SetupPriceShort, L) && BarsSince(SetupShort) < waitPeriod; 
ShortPrice = SetupPriceShort; 

SetChartOptions(0, chartShowDates); 
GraphXSpace = 5; 
Plot(C,"C",1,64); 
Plot(BBandBot(C,20,2),"",colorGold,1); 
Plot(BBandTop(C,20,2),"",colorGold,1); 

Plot(IIf(BarsSince(setuplong) < 
waitPeriod,SetupPriceLong,Null),"",colorLightBlue,1); 
Plot(IIf(BarsSince(setupShort) < 
waitPeriod,SetupPriceShort,Null),"",colorLightOrange,1); 

PlotShapes(IIf(SetupLong,shapeSmallCircle,0),colorYellow, layer = 0, yposition 
= L, offset = 0 ); 
PlotShapes(IIf(Buy,shapeUpTriangle,0),colorLightBlue, layer = 0, yposition = 
BuyPrice, offset = 0 ); 

PlotShapes(IIf(SetupShort,shapeSmallCircle,0),colorYellow, layer = 0, yposition 
= H, offset = 0 ); 
PlotShapes(IIf(Short,shapeDownTriangle,0),colorLightOrange, layer = 0, 
yposition = ShortPrice, offset = 0 ) 

 



  ----- Original Message ----- 
  From: Ed Hoopes 
  To: [email protected] 
  Sent: Saturday, June 16, 2007 4:45 PM
  Subject: [amibroker] Re: Looping - our previous discussion


  Ed & GP,

  In the code posted here there is a 'break' keyword. I presume its
  function is to exit the loop when the 'if' statement becomes true.

  My question:
  The editor highlights 'break' as a keyword, yet it is not listed in
  any help searches that I can find.

  Would either of you kindly point me to where the usage of 'break' is
  defined in the manual.

  Thank You,

  Ed Hoopes

  --- In [email protected], "Edward Pottasch" <[EMAIL PROTECTED]>
  wrote:
  >
  > ok thanks,
  > 
  > I was just a little curious about the code I posted yesterday.
  Possibly I made some error there I am not sure. I wanted to check if I
  was maybe overlooking some error and that would be a problem since I
  use similar coding in the system I trade with and didn't notice any
  problems.
  > 
  > regards, Ed
  > 
  > 
  > 
  > 
  > ----- Original Message ----- 
  > From: gp_sydney 
  > To: [email protected] 
  > Sent: Saturday, June 16, 2007 11:12 AM
  > Subject: [amibroker] Re: Looping - our previous discussion
  > 
  > 
  > Hi Ed,
  > 
  > From a brief look though it, I can't see any problems with it. The
  > loops could perhaps be simplified a bit, but as they are it looks to
  > me like they should work okay.
  > 
  > An example of simplifying the loops (not sure if this will preserve
  > the indents or not):
  > 
  > for (i = 1; i < BarCount; i++) {
  > cnt = 0;
  > if (Buy[i] == 1) {
  > BuyAdjusted[i] = 1;
  > while (++i < BarCount) {
  > if (++cnt == nBar) {
  > Sell[i] = 5;
  > SellPrice[i] = O[i];
  > break;
  > }
  > }
  > }
  > else {
  > if (Short[i] == 1) {
  > ShortAdjusted[i] = 1;
  > while (++i < BarCount) {
  > if (++cnt == nBar) {
  > Cover[i] = 5;
  > CoverPrice[i] = O[i];
  > break;
  > }
  > }
  > }
  > }
  > }
  > 
  > I haven't tested this, but it looks like it should work as well.
  > 
  > Regards,
  > GP
  >



   

Reply via email to