Hi, How do you propose to trade this in real life?
In your most recent example, you are asking for the price which will give the day's closing BBandBot, below which you propose to take a trade. However, since you are using a BBandBot based on Close, you cannot know what the closing BBandBot will be until the end of the last bar. By extension, you cannot know what the threshold would be and thus cannot enter a trade below that threshold. Using your example, let's add some timestamps: 1:00 PM Low $94 4:00 PM Close $100 4:00 PM BBandBot( C, 20, 2 ) = $95 How do you propose to know at 1:00 PM that the 4:00 PM Close will be $100 giving an end of day BBandBot of $95? But... If your question is "Can I identify a daily low value below which it is impossible for the end of day BBandBot to drop?". The answer is yes. You can then set a Limit entry order at that price. To calculate what the minimum possible BBandBot for the day will be, calculate BBandBot (using daily timeframe) substituting zero for the current day's Close in the calculation. The logic being that by using the most pessimistic Close possible, your calculation cannot be wrong. If at any point the intraday Low moves below the minimum possible BBandBot, you can safely enter. If you find that you are getting too few signals, and are willing to risk entering at points that by end of day may prove false, you could use a current bar Close as being yesterday's Close minus some offset (e.g. multiple of ATR) instead of zero. Mike --- In [email protected], "mbausys" <mbau...@...> wrote: > > To make it clearer, I'll give another example: > > I make intraday trades and want to backtest a strategy that enters a trade if > price falls below lower Bollinger band intraday. I have a price history of a > random stock and see that 10 days ago its > C = 100 > L = 94 > BBandBot( C, 20, 2 ) = 95 > > Would I have entered the trade on that day? L < BBandBot, but it is not clear > if the band hadn't shifted below 94 when the price was at 94. In order to > answer the question, I need to find out at what level price would've been > equal to BBandBot and if L was below that determined level, the trade > would've happened. I hope this example makes the matter clearer. > > > --- In [email protected], "mbausys" <mbausys@> wrote: > > > > Guys, I want to backtest this system rather than have a value for today. > > And I'm absolutely sure that the concept & logic are right. > > > > > > --- In [email protected], "Rob" <sidhartha70@> wrote: > > > > > > I think Ara's right... I think your concept & logic are fundamentally > > > flawed. Which is why it won't work. > > > > > > --- In [email protected], "Ara Kaloustian" <ara1@> wrote: > > > > > > > > When you get the value of BBand, it is a dynamic value ... > > > > > > > > so in your example of C = 100 and BBand = 95, > > > > the buy order would of course be somewhere below 95. The point would be > > > > determined correctly by either: > > > > > > > > L < BBand or Cross(BBand,L); > > > > > > > > If you are cornerned about the buy price being far below 95 (in the > > > > example), then perhaps you should use a different strategy, as BBands > > > > will > > > > shift with price moves > > > > > > > > > > > > ----- Original Message ----- > > > > From: "mbausys" <mbausys@> > > > > To: <[email protected]> > > > > Sent: Thursday, April 15, 2010 8:49 AM > > > > Subject: [amibroker] Re: Change last value of array > > > > > > > > > > > > > I'll give you a brief example: > > > > > > > > > > We are in the middle of trading session; > > > > > Current C = 100 > > > > > Current BBandBot( C, 20, 2 ) = 95 > > > > > I want to set a limit order that buys if price falls bellow lower > > > > > Bollinger band. However, a limit order at 94.99 would be incorrect > > > > > way of > > > > > doing that because when the price reaches 94, the actual lower > > > > > Bollinger > > > > > band would have shifted far below 94.99. Thus, I need to a dynamic > > > > > calculation of lower Bollinger band that determines the true level. > > > > > > > > > > --- In [email protected], "Ara Kaloustian" <ara1@> wrote: > > > > >> > > > > >> Dont really understand your comments ... as Low and Close frequently > > > > >> are > > > > >> below lower BB... > > > > >> > > > > >> Try using L <= BBandBot(...) > > > > >> > > > > >> > > > > >> ----- Original Message ----- > > > > >> From: "mbausys" <mbausys@> > > > > >> To: <[email protected]> > > > > >> Sent: Thursday, April 15, 2010 8:16 AM > > > > >> Subject: [amibroker] Re: Change last value of array > > > > >> > > > > >> > > > > >> > In essence, I want to backtest a trading system that uses lower > > > > >> > Bollinger > > > > >> > Band as an entry point and would enter trades intraday when price > > > > >> > touches > > > > >> > the lower band. However, I can't use L < BBandBot( C, 20, 2 ) as > > > > >> > at the > > > > >> > point when price is at its L, BBand would be lower than BBandBot( > > > > >> > C, > > > > >> > 20, > > > > >> > 2 ) and the trade might be not triggered in reality. Therefore, I > > > > >> > want > > > > >> > to > > > > >> > find price levels at which P would be equal or just fall below > > > > >> > lower > > > > >> > BBand. That level would be my BuyPrice as well. > > > > >> > > > > > >> > Thanks, > > > > >> > > > > > >> > Marius > > > > >> > > > > > >> > > > > > >> > --- In [email protected], "Rob" <sidhartha70@> wrote: > > > > >> >> > > > > >> >> You said you only wanted to do it for the last day (or last value > > > > >> >> in > > > > >> >> the > > > > >> >> array)...? > > > > >> >> > > > > >> >> LastValue() will only access the last value in the array hence > > > > >> >> will > > > > >> >> only > > > > >> >> work for the last day... > > > > >> >> > > > > >> >> What exactly are you trying to do...? explain in detail and we > > > > >> >> might > > > > >> >> be > > > > >> >> able to help... > > > > >> >> > > > > >> >> --- In [email protected], "mbausys" <mbausys@> wrote: > > > > >> >> > > > > > >> >> > I have this very short code, which is supposed to determine at > > > > >> >> > what > > > > >> >> > price level every day the price would have been equal to lower > > > > >> >> > Bollinger Band. However, the code seems to do the trick only > > > > >> >> > for the > > > > >> >> > last day. Any hints where I may be wrong? > > > > >> >> > > > > > >> >> > P = C; // P is a target price level > > > > >> >> > diff = P / 2; > > > > >> >> > > > > > >> >> > for( i = 0; i < 100; i++ ) > > > > >> >> > { > > > > >> >> > P = IIf( P < BBandBot( C, 20, 2 ), C + diff, C - diff ); > > > > >> >> > C[ LastValue( BarIndex() ) ] = P[ LastValue( BarIndex() ) ]; > > > > >> >> > diff = diff / 2; > > > > >> >> > } > > > > >> >> > > > > > >> >> > --- In [email protected], "jooleanlogic" <jooleanl@> > > > > >> >> > wrote: > > > > >> >> > > > > > > >> >> > > I think that will only work in version 5.3 Sid. > > > > >> >> > > > > > > >> >> > > BarIndex() changed from being the actual index in 5.2, to > > > > >> >> > > always > > > > >> >> > > starting at 0 in 5.3. > > > > >> >> > > So LastValue(BarIndex()) in 5.2 can give you a number greater > > > > >> >> > > than > > > > >> >> > > BarCount under QuickAFL. > > > > >> >> > > > > > > >> >> > > You could just use BB_Array[BarCount-1] which will always > > > > >> >> > > work. > > > > >> >> > > > > > > >> >> > > Jules. > > > > >> >> > > > > > > >> >> > > > > > > >> >> > > --- In [email protected], "Rob" <sidhartha70@> wrote: > > > > >> >> > > > > > > > >> >> > > > Sure... if BBand is the array you want to change, > > > > >> >> > > > > > > > >> >> > > > Last_Val_BI = LastValue( BarIndex()); > > > > >> >> > > > BB_Array [Last_Val_BI] = New value here... > > > > >> >> > > > > > > > >> >> > > > try something like that. > > > > >> >> > > > > > > > >> >> > > > --- In [email protected], "mbausys" <mbausys@> > > > > >> >> > > > wrote: > > > > >> >> > > > > > > > > >> >> > > > > Hi all, > > > > >> >> > > > > > > > > >> >> > > > > Is there a simple way of changing the last value of an > > > > >> >> > > > > array? > > > > >> >> > > > > I want to find Bollinger Band of, e.g. 10 days of closing > > > > >> >> > > > > prices, > > > > >> >> > > > > but would like to use a different value for day 10 rather > > > > >> >> > > > > than > > > > >> >> > > > > the real closing price for that day. > > > > >> >> > > > > > > > > >> >> > > > > Any help would be appreciated. > > > > >> >> > > > > > > > > >> >> > > > > Many thanks, > > > > >> >> > > > > > > > > >> >> > > > > Marius > > > > >> >> > > > > > > > > >> >> > > > > > > > >> >> > > > > > > >> >> > > > > > >> >> > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > > >> > ------------------------------------ > > > > >> > > > > > >> > **** IMPORTANT PLEASE READ **** > > > > >> > This group is for the discussion between users only. > > > > >> > This is *NOT* technical support channel. > > > > >> > > > > > >> > TO GET TECHNICAL SUPPORT send an e-mail directly to > > > > >> > SUPPORT {at} amibroker.com > > > > >> > > > > > >> > TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at > > > > >> > http://www.amibroker.com/feedback/ > > > > >> > (submissions sent via other channels won't be considered) > > > > >> > > > > > >> > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG: > > > > >> > http://www.amibroker.com/devlog/ > > > > >> > > > > > >> > Yahoo! Groups Links > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------ > > > > > > > > > > **** IMPORTANT PLEASE READ **** > > > > > This group is for the discussion between users only. > > > > > This is *NOT* technical support channel. > > > > > > > > > > TO GET TECHNICAL SUPPORT send an e-mail directly to > > > > > SUPPORT {at} amibroker.com > > > > > > > > > > TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at > > > > > http://www.amibroker.com/feedback/ > > > > > (submissions sent via other channels won't be considered) > > > > > > > > > > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG: > > > > > http://www.amibroker.com/devlog/ > > > > > > > > > > Yahoo! Groups Links > > > > > > > > > > > > > > > > > > > > > > > > >
