/
//
// Trailing stop méthod
//
//------------------------------------------------------------------------------
_SECTION_BEGIN("Elder safe Zone Long + short");
L1=Ref(L,-1);
H1=Ref(H,-1);
Pd=Param("Period",10,1,50,1);
DnPen=IIf(LH1,H-H1,0);
DnPenSum=Sum(DnPen,Pd);
UpPenSum=Sum(UpPen,Pd);
DnPenCount=Sum(LH1,Pd);
AvgDnPen=IIf(DnPenCount>0,DnPenSum/DnPenCount,0.01);
AvgUpPen=IIf(UpPenCount>0,UpPenSum/UpPenCount,0.01);
AvgDnPenMult=Param("Multiplier",2,1,4,0.1);
AvgUpPenMult=Param("Multiplier",2,1,4,0.1);
DaysInTrade=Param("Days in trade",1,1,50,1);
StopLong=L-(AvgDnPen*AvgDnPenMult);
StopShort=H+(AvgUpPen*AvgUpPenMult);
SafeZoneStopLong=HHV(StopLong,DaysInTrade);
SafeZoneStopShort=LLV(StopShort,DaysInTrade);
MilieuCorps = (C+O)/2;
Plot( C, "Close", ParamColor("Couleur ", colorBlack ), styleNoTitle | ParamStyle("Style") | styleCandle|styleThick);
ShortStop=BeginValue(C);
LongStop=BeginValue(C);
i=1;
for (i=1;i < BarCount; i++)
{
if (SafeZoneStopShort[i] >= SafeZoneStopShort[i-1] && ShortStop[i-1] <= H[i])
ShortStop[i] = SafeZoneStopShort[i] ;
if (SafeZoneStopShort[i] >= SafeZoneStopShort[i-1] && ShortStop[i-1] > H[i])
ShortStop[i] = ShortStop[i-1];
if (SafeZoneStopShort[i] < SafeZoneStopShort[i-1] && ShortStop[i-1] <= H[i])
ShortStop[i] = SafeZoneStopShort[i] ;
if (SafeZoneStopShort[i] < SafeZoneStopShort[i-1] && ShortStop[i-1] > H[i])
ShortStop[i] = ShortStop[i-1];
if (IsEmpty(SafeZoneStopShort[i]))
ShortStop[i] = SafeZoneStopShort[i] ;
if (ShortStop[i] >= SafeZoneStopShort[i])
ShortStop[i] = SafeZoneStopShort[i] ;
if (SafeZoneStopLong[i] <= SafeZoneStopLong[i-1] && LongStop[i-1] >= L[i])
LongStop[i] = SafeZoneStopLong[i] ;
if (SafeZoneStopLong[i] <= SafeZoneStopLong[i-1] && LongStop[i-1] < L[i])
LongStop[i] = LongStop[i-1];
if (SafeZoneStopLong[i] > SafeZoneStopLong[i-1] && LongStop[i-1] >= L[i])
LongStop[i] = SafeZoneStopLong[i] ;
if (SafeZoneStopLong[i] > SafeZoneStopLong[i-1] && LongStop[i-1] < L[i])
LongStop[i] = LongStop[i-1];
if (IsEmpty(SafeZoneStopLong[i]))
LongStop[i] = SafeZoneStopLong[i] ;
if (LongStop[i] <= SafeZoneStopLong[i])
LongStop[i] = SafeZoneStopLong[i] ;
}
PlotShapes(IIf(ShortStop>Ref(ShortStop,-1), shapeHollowSmallDownTriangle, shapeNone), colorRed, 0, ShortStop, Offset=-15);
PlotShapes(IIf(LongStop[Ref(ShortStop,-1),colorCustom1,colorBlue),ParamStyle("Style Stop Short",styleLine|styleLine) );
Plot(LongStop,"Stop Long", IIf(LongStop][
]