Sorry, I meant to include the Parabolic Stop code that I use. It is Tradestation's "EasyLanguage" code which is not easy.
inputs: AccFactorStep( .02 ), AccFactorLimit( 0.2 ), ATRLength( 21 ), NumATRs(6.0) ;
variables: ATR(0),MP(0), LX(0), SX(0), AF(0), TradeHH(0), TradeLL(0) ;
atr = average(truerange, atrlength);
MP = MarketPosition ;
if MP = 1 then begin
if MP[1] <> 1 then
begin
LX = Low - ATR * NumATRs ;
AF = AccFactorStep ;
TradeHH = High ;
end
else begin
if High > TradeHH then TradeHH = High ;
LX = LX + AF*(TradeHH - LX) ;
if TradeHH > TradeHH[1] and AF < AccFactorLimit then
AF = AF + MinList( AccFactorStep, AccFactorLimit - AF ) ;
end ;
if LX > Low then lx = Low ;
Sell ( "ParTrLX" ) next bar at lx stop ;
end ;
if MP = -1 then begin
if MP[1] <> -1 then begin
SX = High + ATR * NumATRs ;
AF = AccFactorStep ;
TradeLL = Low ;
end
else begin
if Low < TradeLL then TradeLL = Low ;
SX = SX - AF * ( SX - TradeLL ) ;
if TradeLL < TradeLL[1] and AF < AccFactorLimit then
AF = AF + MinList( AccFactorStep, AccFactorLimit - AF ) ;
end ;
if SX < High then SX = High ;
Buy To Cover ( "ParTrSX" ) next bar at SX stop ;
end ;
inputs: AccFactorStep( .02 ), AccFactorLimit( 0.2 ), ATRLength( 21 ), NumATRs(6.0) ;
variables: ATR(0),MP(0), LX(0), SX(0), AF(0), TradeHH(0), TradeLL(0) ;
atr = average(truerange, atrlength);
MP = MarketPosition ;
if MP = 1 then begin
if MP[1] <> 1 then
begin
LX = Low - ATR * NumATRs ;
AF = AccFactorStep ;
TradeHH = High ;
end
else begin
if High > TradeHH then TradeHH = High ;
LX = LX + AF*(TradeHH - LX) ;
if TradeHH > TradeHH[1] and AF < AccFactorLimit then
AF = AF + MinList( AccFactorStep, AccFactorLimit - AF ) ;
end ;
if LX > Low then lx = Low ;
Sell ( "ParTrLX" ) next bar at lx stop ;
end ;
if MP = -1 then begin
if MP[1] <> -1 then begin
SX = High + ATR * NumATRs ;
AF = AccFactorStep ;
TradeLL = Low ;
end
else begin
if Low < TradeLL then TradeLL = Low ;
SX = SX - AF * ( SX - TradeLL ) ;
if TradeLL < TradeLL[1] and AF < AccFactorLimit then
AF = AF + MinList( AccFactorStep, AccFactorLimit - AF ) ;
end ;
if SX < High then SX = High ;
Buy To Cover ( "ParTrSX" ) next bar at SX stop ;
end ;