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 >
