Hi - AB allows you to define BuyPrice, SellPrice, etc. So if you have your signals defined as price crossing BB, couldn't you just say
BuyPrice = BBandTop() or whatever? Steve ----- Original Message ----- From: "mbausys" <[email protected]> To: <[email protected]> Sent: Friday, February 12, 2010 7:13 AM Subject: [amibroker] Re: Projecting prices > Steve, > > What I want to do with this code is for it to allow me enter a trade > exactly at the price which triggers a signal. In particular, I use > Bollinger Bands and want trades to be executed at the price at which it > equals Bollinger Bands. The price might then reverse and in EOD chart the > closing price would be inside Bollinger Bands. However, I would know that > the signal would have been generated intraday and I could have entered a > position. I'm not proficient with Amibroker coding yet so the required > twist might be very simple. Thank you for your help. > > > Marius > > --- In [email protected], "Steve Dugas" <sjdu...@...> wrote: > > >> >> Hi - What did you have in mind? Fred can correct me if I'm wrong, but I >> always imagined it was written for someone who wanted to trade at the >> close >> but only gets EOD data. By the time you do the nightly data download and >> see >> a new signal, the markets are closed and you can only trade NDO. With >> this >> code you can predict the price needed to trigger a signal, then put on >> CNBC >> or QuoteTracker to see if your price point has been met and trade just >> prior >> to today's close. For backtests, just set trade price to close and trade >> delay to zero, you should only need to predict the price for real-time >> trading. >> >> Steve >> >> ----- Original Message ----- >> From: "mbausys" <mbau...@...> >> To: <[email protected]> >> Sent: Thursday, February 11, 2010 4:10 PM >> Subject: [amibroker] Re: Projecting prices >> >> >> > >> > >> > Thanks a lot for posting this. I'd like to ask how it would be possible >> > to >> > use this process in a backtest procedure as it only determines a >> > required >> > price for tomorrow. Please correct me if I'm wrong. >> > >> > >> > Regards, >> > >> > Marius >> > >> > >> > --- In [email protected], "Ara Kaloustian" <ara1@> wrote: >> >> >> >> Thanks Steve >> >> >> >> A >> >> ----- Original Message ----- >> >> From: Steve Dugas >> >> To: [email protected] >> >> Sent: Monday, April 10, 2006 10:53 AM >> >> Subject: Re: [amibroker] Projecting prices >> >> >> >> >> >> Hi Ara, >> >> >> >> Your question rang a bell with me, so I searched my saved e-mails >> >> and >> >> found this code that Fred was kind enough to post a couple of years >> >> ago. >> >> Maybe it will be helpful for you? >> >> >> >> Steve >> >> >> >> // *********************************************** >> >> // >> >> // An all purpose routine to find the price >> >> // necessary to move an indicator to a GOAL. >> >> // >> >> // This should work for virtually any indicator, >> >> // built in or otherwise. It's demonstrated >> >> // here using RSI & BBand's ... >> >> // >> >> // Note: It will appear to use future quotes >> >> // because of the down shifting of the >> >> // price array, but obviously it can't >> >> // "know" tomorrows price. There's >> >> // probably a way to rectify this but >> >> // I was more concerned with the rest >> >> // of the process. >> >> // >> >> // The maximum iterations have arbitrarily been >> >> // set to 200 which is undoubtedly overkill >> >> // as I've yet to see anything take 200 even >> >> // when tolerance was set to 0 on datastreams >> >> // with very high prices. >> >> // >> >> // For real usage the saving of i in j and the >> >> // accuracy calculation can be tossed as they >> >> // were only put in for demonstration purposes >> >> // >> >> // *********************************************** >> >> // >> >> // This Routine requires the following things >> >> // >> >> // P0 = A price array or synthetic >> >> // >> >> // Goal = The goal value of the indicator >> >> // >> >> // Acc = An accuracy level for the calculations >> >> // >> >> // Set this to the order of magnitude >> >> // that you want. For example if you want >> >> // accuracy in calculated price to within >> >> // 0.01 then set it 0.01. It can even >> >> // be set to 0 which will force AB to >> >> // calculate until it can't find any >> >> // further improvements (Usually between >> >> // 150-170 iterations) but this is semi >> >> // useless as improvements relative to >> >> // price granularity have long since >> >> // been gone by. >> >> // >> >> // The lower you set it the longer it >> >> // will take but it's pretty quick >> >> // (Usually between 15-30 iterations) >> >> // unless you set it at 0. >> >> // >> >> // *********************************************** >> >> // >> >> // Note: Some goals are virtually unattainable on >> >> // the next bar, especially on the downside >> >> // as they would require a negative price >> >> // which is what this routine will show if >> >> // that is what is required. >> >> // >> >> // *********************************************** >> >> >> >> P0 = C; >> >> >> >> Acc = 0.0001; >> >> >> >> LVBI = LastValue(BarIndex()); >> >> Mult = 1; >> >> >> >> // *********************************************** >> >> // Shift Price up by n orders of magnitude to make >> >> // it >= 1. This is useful to increase >> >> // accuracy on very low priced datastreams >> >> // such as the JY. >> >> // *********************************************** >> >> for (i = 0; i < 10; i++) >> >> { >> >> if (P0[LVBI] >= 1) >> >> i = 99; >> >> else >> >> Mult = Mult * 10; >> >> } >> >> // *********************************************** >> >> >> >> P1 = Ref(P0, 1) * Mult; >> >> UpDn = 100 * P1[LVBI]; >> >> >> >> for (i = 0; i < 200; i++) >> >> { >> >> >> >> // An example for finding price associated with the next bars >> >> BBandTop >> >> // >> >> // >> >> ************************************************************** >> >> *************** >> >> // Put whatever indicator you want to goal seek here based on P1 >> >> // >> >> ************************************************************** >> >> *************** >> >> Calc = P1; >> >> // >> >> ************************************************************** >> >> *************** >> >> // Put whatever you want for the goal here ... >> >> // >> >> // The reason for putting it in the loop is because sometimes >> >> the goal is price >> >> // oriented and will need to be recalculated on each >> >> iteration. >> >> // >> >> ************************************************************** >> >> *************** >> >> Goal = LastValue(BBandBot(P1, 14, 2)); >> >> // >> >> ************************************************************** >> >> *************** >> >> >> >> >> >> >> >> // An example for finding price associated with the next bars >> >> RSI value of 65 >> >> // >> >> // >> >> ************************************************************** >> >> *************** >> >> // Put whatever indicator you want to goal seek here based on P1 >> >> // >> >> ************************************************************** >> >> *************** >> >> // Calc = RSIa(P1, 14); >> >> // >> >> ************************************************************** >> >> *************** >> >> // Put whatever you want for the goal here ... >> >> // >> >> // The reason for putting it in the loop is because sometimes >> >> the goal is price >> >> // oriented and will need to be recalculated on each >> >> iteration. >> >> // >> >> ************************************************************** >> >> *************** >> >> // Goal = 65; >> >> // >> >> ************************************************************** >> >> *************** >> >> >> >> if (Calc[LVBI] < Goal) >> >> P1[LVBI] = P1[LVBI] + UpDn; >> >> else >> >> P1[LVBI] = P1[LVBI] - UpDn; >> >> UpDn = UpDn / 2; >> >> if (UpDn <= Acc) >> >> { >> >> j = i; >> >> i = 99999; >> >> } >> >> } >> >> >> >> Accuracy = 100 * (abs(Goal - Calc) / Goal); >> >> >> >> Filter = BarIndex() == LVBI; >> >> >> >> AddColumn(Mult, >> >> "Multiplier", 1.0); >> >> AddColumn(Calc[LVBI - 1] / Mult, "Curr Ind Val", 1.9); >> >> AddColumn(Goal / Mult, "Goal Ind Val", 1.9); >> >> AddColumn(Calc[LVBI] / Mult, "Calc Ind Val", 1.9); >> >> AddColumn(j, >> >> "Iterations", 1.0); >> >> AddColumn(Accuracy, "Accuray (%)", 1.9); >> >> AddColumn(Ref(P1, -1) / Mult, "Todays Price", 1.9); >> >> AddColumn(P1 / Mult, "Goal >> >> Price", 1.9); >> >> >> >> ----- Original Message ----- >> >> From: Ara Kaloustian >> >> To: [email protected] >> >> Sent: Monday, April 10, 2006 1:08 PM >> >> Subject: Re: [amibroker] Projecting prices >> >> >> >> >> >> thanks Bob, >> >> >> >> I had temporarily come to the same conclusion but realized that >> >> for >> >> my particular application I already have the high and low prices ... >> >> just >> >> need to calculate the close. >> >> >> >> My application is to use historical data for backtest and figure >> >> out >> >> a way to make it equivalent to using real time data by calculating the >> >> exact price required to produce a signal, obviously within the >> >> exixting >> >> price range. >> >> >> >> It's a clumsy solution since I will not be able to use the AB >> >> backtester, but useful (I think). It would be great if AB backtester >> >> could be used ... >> >> >> >> So technically "projecting" prices in the subject line is a bit >> >> misleading for this case... >> >> >> >> >> >> Ara >> >> ----- Original Message ----- >> >> From: Bob Jagow >> >> To: [email protected] >> >> Sent: Sunday, April 09, 2006 11:07 PM >> >> Subject: RE: [amibroker] Projecting prices >> >> >> >> >> >> An algebraic solution is possible only for indicators dependent >> >> on >> >> a single price array. >> >> That rules out CCI and Stochastics. >> >> >> >> Bob >> >> -----Original Message----- >> >> From: [email protected] >> >> [mailto:[email protected]]on Behalf Of Ara Kaloustian >> >> Sent: Sunday, April 09, 2006 9:43 PM >> >> To: AB-Main >> >> Subject: [amibroker] Projecting prices >> >> >> >> >> >> I am trying to figure out the required price to create a >> >> particular value of an indicator. >> >> >> >> Example: My CCI is at 50. I would get a signal if CCI reached >> >> 55. >> >> What is the require value of price that would make CCI to rise to 55? >> >> >> >> >> >> This kind of calculation can be used to anticipate a signal >> >> and >> >> allow us to place a conditional order for next day. >> >> >> >> I am looking for the formulae to accomplish this for CCI, >> >> Stochastics and MACD. >> >> >> >> The formulae should be bit of algebra, but rather time >> >> consuming >> >> to develop. >> >> >> >> Wonder if anyone has already worked on this issue before. >> >> >> >> Appreciate any help >> >> >> >> ara >> >> >> >> >> >> Please note that this group is for discussion between users only. >> >> >> >> To get support from AmiBroker please send an e-mail directly to >> >> SUPPORT {at} amibroker.com >> >> >> >> For other support material please check also: >> >> http://www.amibroker.com/support.html >> >> >> >> >> >> >> >> >> >> >> >> ---------------------------------------------------------------------------- >> >> YAHOO! GROUPS LINKS >> >> >> >> a.. Visit your group "amibroker" on the web. >> >> >> >> b.. To unsubscribe from this group, send an email to: >> >> [email protected] >> >> >> >> c.. Your use of Yahoo! Groups is subject to the Yahoo! Terms of >> >> Service. >> >> >> >> >> >> ---------------------------------------------------------------------------- >> >> >> > >> > >> > >> > >> > ------------------------------------ >> > >> > **** 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 > > > >
