How about something like this for the array route: setup = cross(bbandbot( c, 20, 2), c); wait = iif(barssince(setup) < 6, 1, 0);
Bill ----- Original Message ----- From: Edward Pottasch To: [email protected] Sent: Friday, March 23, 2007 4:26 AM Subject: Re: [amibroker] Re: Hold and Valuewhen functions hi, what the code below does: it calculates "Setup" which has a "1" where ever C closes below the BBandBOT. Then I subject the array "Setup" to the loop. When inside the "i" loop and it finds a "1" then it enters the "j" loop and will make a number of "waitPeriod" bars "0" that follow the "1" bar at bar "i". When finished with the "j" loop I tell it that i = j so that it enters the "i" loop at the value of "j" etc. So basicly if a "1" is found in the array "Setup" it zeros out the next "waitPeriod" bars. I do not know of an array based calculation in AFL that could do it more simple. SetBarsRequired(10000,10000); triggerPercentage = 1.03; waitPeriod = 15; Setup = C < BBandBot(C,20,2); for (i = 0; i < BarCount - waitPeriod; i++) { if (Setup[ i ]) { for (j = i + 1; j < i + waitPeriod; j++) { Setup[ j ] = 0; } i = j; } } ----- Original Message ----- From: bernardedmond01 To: [email protected] Sent: Friday, March 23, 2007 1:26 AM Subject: [amibroker] Re: Hold and Valuewhen functions Edward Would you mind translating into plain English the for - if loop please? I've looked at the examples in the user's guide but I can't follow the AFL. Thanks ------------------------------------------------------------------------------ No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.446 / Virus Database: 268.18.14/727 - Release Date: 3/19/2007 11:49 AM
