February 4: Follow new BandBreak5 system HERE!!!
Follow my S&P500 and FOREX EUR/USD weekly forecast.
My BBS Trading expert was presented at the 2011 Trading Forum in Denver. More information?
Trade with my DSTfx01 forex robot, (or BandBreak5) watch the VIDEO.
View an excerpt of my last 1st, 2nd and 3rd article about the put/call ratio published in S&C magazine.
Best offer "Capturing Profit with Technical Analysis"!
WINNER "Favorite Article" in the S&C Readers' Choice Award 2010 and 2011. Thank You!
AXIOM business books awards, bronze medal for my book! Thank You!
Sylvain Vervoort
WINNER 2010 and 2011 favorite article Readers' Choice Award.
AXIOM Business Books Awards, bronze medal.
HOME Back to MetaStock Formulas Overview
Looking into Wilder’s concept for the True Range – that is, the:
There are some changes I would like to introduce to come up with a higher profit than if I were using the standard trailing ATR.
1) The current high minus the current low can be big in very volatile markets. To avoid the influence of extreme moves in a day, I will limit the extreme price change of a single bar to a maximum of one and a half times the ATR moving average of the high minus low prices.
2) The absolute value of the current high minus the previous close may be distorted by a large gap between the previous high and the current low. Since a gap does give support, I would like to limit the influence of the gap. This I do by taking into account just half the size of the gap.
3) The absolute value of the current low less the previous close may also be distorted by a (big) gap between the previous low and the current high. Let’s also limit that influence taking into account only half the size of the gap.
This is the basic formula switching on stop breaks:
SVE_Stop_Trail_ModATR
period:=Input("ATR period :",1,100,10);
atrfact:=Input("ATR multiplication :",1,10,3.5);
HiLo:=If(H-L<1.5*Mov(H-L,period,S),H-L, 1.5*Mov(H-L,period,S));
Href:=If(L<=Ref(H,-1),H-Ref(C,-1),(H-Ref(C,-1))-(L-Ref(H,-1))/2);
Lref:=If(H>=Ref(L,-1),Ref(C,-1)-L,(Ref(C,-1)-L)-(Ref(L,-1)-H)/2);
diff1:=Max(HiLo,Href);
diff2:=Max(diff1,Lref);
atrmod:=Wilders(diff2,period);
loss:=atrfact*atrmod;
trail:=
If(C>PREV AND Ref(C,-1)>PREV,
Max(PREV,C-loss),
If(C<PREV AND Ref(C,-1)<PREV,
Min(PREV,C+loss),
If(C>PREV,C-loss,C+loss)));
Trail

Compare the trailing stop ATR and modified ATR with a 2.1 multiplication factor in this chart. The modified ATR trailing stop closes the position one day earlier with more profit.
Using your own trading method finding entry points you most probably would like to have this trailing stop available from your own entry date.
So, this is the MetaStock® formula for a modified ATR trailing stop long position from a starting date. Please make sure that the date you select is an existing date in the data series.
SVE_StopLongMod_Trail_ATR_Date
{SVE_StopLongMod_Trail_ATR_Date}
InpMonth:=Input("Month",1,12,1);
InpDay:=Input("Day",1,31,1);
InpYear:=Input("Year",1800,2050,2009);
InitStop:=Input("Initial Stop Price",0.1,10000,10);
period:=Input("ATR period :",1,100,5);
atrfact:=Input("ATR multiplication :",1,10,3.5);
HiLo:=If(H-L<1.5*Mov(H-L,period,S),H-L, 1.5*Mov(H-L,period,S));
Href:=If(L<=Ref(H,-1),H-Ref(C,-1),(H-Ref(C,-1))-(L-Ref(H,-1))/2);
Lref:=If(H>=Ref(L,-1),Ref(C,-1)-L,(Ref(C,-1)-L)-(Ref(L,-1)-H)/2);
diff1:=Max(HiLo,Href);
diff2:=Max(diff1,Lref);
atrmod:=Wilders(diff2,period);
loss:=atrfact*atrmod;
Entry:= InpYear=Year() AND InpMonth=Month() AND InpDay=DayOfMonth();
StopLong:=ExtFml( "AdvancedStop.StopLong", Entry,InitStop,0,C-Loss,0,0,0,0);
StopLong
Search the Internet
And this is the MetaStock® formula for an ATR modified trailing stop short position from a starting date. Please make sure that the date you select is an existing date in the data series.
SVE_StopShortMod_Trail_ATR_Date
{SVE_StopShortMod_Trail_ATR_Date}
InpMonth:=Input("Month",1,12,1);
InpDay:=Input("Day",1,31,1);
InpYear:=Input("Year",1800,2050,2009);
InitStop:=Input("Initial Stop Price",0.1,10000,10);
period:=Input("ATR period :",1,100,5);
atrfact:=Input("ATR multiplication :",1,10,3.5);
HiLo:=If(H-L<1.5*Mov(H-L,period,S),H-L, 1.5*Mov(H-L,period,S));
Href:=If(L<=Ref(H,-1),H-Ref(C,-1),(H-Ref(C,-1))-(L-Ref(H,-1))/2);
Lref:=If(H>=Ref(L,-1),Ref(C,-1)-L,(Ref(C,-1)-L)-(Ref(L,-1)-H)/2);
diff1:=Max(HiLo,Href);
diff2:=Max(diff1,Lref);
atrmod:=Wilders(diff2,period);
loss:=atrfact*atrmod;
Entry:= InpYear=Year() AND InpMonth=Month() AND InpDay=DayOfMonth();
StopShort:=ExtFml("AdvancedStop.StopShort",Entry,InitStop,0,C+Loss,0,0,0,0);
StopShort
HOME Back to MetaStock Formulas Overview