Hello all

Further to my post - the issue of the traling stop not working as the author in 
S & C article intended is that TJ's solution does not take into consideration 
the date (ie in the code below: dt = ParamDate("Date of the trend", 
"2008-11-20" ); " & intial stop (Value3 = Param("Initial Stop", 19, 0, 1e6 ); " 
to calculate the start of the TL and achor it there (trailing stop)then plot 
from there on. 

It seems that by overlooking that point the plot starts at the start of the 
array ignoring input data. What I think is required to fix that issue is some 
way of extracting the array element index [i] on the start date (dt[i] == input 
date and intializing TL with intial stop ie TL[i] =value3;

I cannot see any way of extracting the [i].

Anyone have thoughts on how this can be fixed or a better way of approaching 
the solution.

I have a comparison with the indicator applied in Metastock with Amibroker 
screenshots on the same stock - if I can workout how to add attachments to this 
post for anyone interested.

Any input pointing me in some drection to a solution is much appreciated.

Thanks 
Ed

--- In amibroker@yahoogroups.com, "edwol53" <ed...@...> wrote:
>
> Hello all
> 
> I am looking at the code that TJ provided in AmiBroker S&C Traders' Tips 
> monthly. Issue 1/2008.
> 
> I have applied it to some charts and it seems that the trailing stop "TL" in 
> the code which appears to be correct does not plot as shown in the example. I 
> get a horizontal line above the channel and price data in every case.
> 
> Can anyone see what could be the issue in the code below?
> 
> //PROFIT LOCKING AND THE RELATIVE PRICE CHANNEL
> //"Profit Locking and The Relative Price Channel" article 
> //AmiBroker S&C Traders' Tips monthly. Issue 1/2008
> //http://www.amibroker.com/members/traders/01-2008.html
> //http://www.traders.com/documentation/FEEDbk_docs/2008/01/TradersTips/TradersTips.html#amibroker
> 
> dt = ParamDate("Date of the trend", "2008-11-20" ); 
> Value1 = Param("Bearish Periods", 21, 3, 55 ); 
> Value2 = Param("Multiplication Factor", 3.8, 1, 10 ); 
> Value3 = Param("Initial Stop", 19, 0, 1e6 ); 
> Value4 = Param("Channel Periods", 21, 3, 55 ); // Channel Periods 
> Value5 = Param("Overbought region", 75, 1, 100 ); // Overbought region 
> Value6 = Param("Channel Smoothing", 1, 1, 10 ); 
> 
> HoldingDays = BarsSince( DateNum() < dt ); 
> 
> Index = RSI( Value4 ); 
> OB = EMA( Index - Value5, Value6 ); 
> Bullish = Close - ( Close * OB/100 ); 
> 
> Bearish = Sum( abs( Low - Ref( Low, -1 ) ), Value1 ) / Value1; 
> RangeA = Sum( Close - Low, Value1 ) / Value1; 
> Stop = Close - ( ( Bearish + RangeA ) * Value2 ); 
> 
> TL = Null; 
> 
> for( i = 1; i < BarCount; i++ ) 
> { 
>  Prev = TL[ i - 1 ]; 
>  Cond1 = Stop[ i ] > Prev; 
> 
>  TL[ i ] = IIf( Cond1 AND Stop[ i ] > Value3, Stop[ i ], 
>            IIf( Cond1 AND Stop[ i ] < Value3, Value3, 
>            IIf( NOT Cond1, Prev, Stop[ i ] * HoldingDays[ i ] ) ) ); 
> } 
> 
> TL = IIf( HoldingDays == 0, Null, TL ); 
> Bullish = IIf( HoldingDays == 0, Null, Bullish ); 
> 
> Plot( C, "Price",  IIf( C > O, colorGreen, colorRed ), styleBar ); 
> Plot( TL, "TL", colorBlue ); 
> Plot( Bullish, "Bullish", colorLightGrey ); 
> PlotOHLC( TL, TL, Bullish, Bullish, "", ColorRGB( 230, 230, 230), styleCloud 
> | styleNoLabel ); 
> Title = "{{NAME}} - {{DATE}} - {{VALUES}}";
>


Reply via email to