Keith, Buy = Ref( Buy, -1 ) is not ambiguous.
It will behave exactly has you have proposed in your workaround (i.e. will internally create a temporary array holding Ref(Buy, -1) which will then be assigned to Buy). It does, however, require that Buy has already been initialized before this statement. Mike --- In [email protected], Keith McCombs <kmcco...@...> wrote: > > I gave this thread a new name because TJ's response brought up a much > more general concern, for me, than the original title expressed. > > I thought that statements such as "Buy = ref( Buy, -1 );" were ambiguous > and therefore should not be used. The reason being that if the array > valuation moves forward in time (Buy[n] evaluated before Buy[n+1]) then > all Buys will be equal to Buy[0]. However if valuation moves backward > (Buy[n+1] before Buy[n]) then a much different result is produced. > > Therefore, one should instead use something like this: > temp = ref(Buy, -1); > Buy = temp; > > Hopefully someone will clear up my confusion. > Thank you. > -- Keith > > On 4/20/2010 19:10, Tomasz Janeczko wrote: > > > > Hello, > > > > >SellPrice = Ref(O, 1); > > > > Wrong advice. > > Once again: NEVER move trading prices using ref(). > > > > Instead delays SIGNALS > > Buy = ref( Buy, -1 ); > > Sell = ref( Sell, -1 ); > > > > Best regards, > > Tomasz Janeczko > > amibroker.com > > > > On 2010-04-21 00:54, hiscores wrote: > > > There are numerous ways to do this, but here is a simple one > > > > > > Buy = C> MA(C, 20); > > > BuyPrice = C; > > > > > > StopLoss = C< MA(C, 50); > > > ProfitTarget = C> MA(C, 10); > > > > > > Sell = StopLoss OR ProfitTarget; > > > // If we exit due to stop loss take the 50 MA otherwise > > > // by process of elimination we exit at target 10 MA > > > SellPrice = iif(StopLoss, MA(C, 50), MA(C, 10)); > > > > > > This is here so you can learn how to code such rules, but I should > > point out that your strategy is unrealistic! You are making a rule > > where if at the END of a bar we are below an MA we should sell at a > > price ABOVE the close (ie the MA price that price action is now > > below). Furthermore the MA will not settle to its final value until > > the bar is finished (since the MA is calculated on closing prices). > > You should probably set your sell prices to the open of the next bar > > > > > > SellPrice = Ref(O, 1); > > > > > > -hi > > > > > > --- In [email protected] > > <mailto:amibroker%40yahoogroups.com>, > > "dralexchambers"<dralexchambers@> wrote: > > > > > >> Hi, > > >> > > >> How would I put together a backtest for the following. My Buy > > signal is: > > >> > > >> Buy = C>MA(C,20); > > >> > > >> How do I do a multiple sell signal for the following: > > >> > > >> StopLoss is hit is when C< MA(C,50) Stoploss price is MA50. > > TakeProfit is when C> MA(C,10), and TP price is MA10. > > >> > > >> I can only see one Sell& Sellprice variable. How do I put both of > > these conditions into Sell& Sellprice? > > >> > > >> Thanks, > > >> Alex > > >> > > >> > > > > > > > > > > > > ------------------------------------ > > > > > > **** 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/ <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/ <http://www.amibroker.com/devlog/> > > > > > > Yahoo! Groups Links > > > > > > > > > > > > > > > > > > > >
