+91-0000000000

}

Monday – Friday : 9:00 AM – 6:30 PM

Elder Safe Zone Long Short

Elder Safe Zone Long Short in Amibroker combines long and short signals based on the Elder Safe Zone strategy. Utilizing the Amibroker data feeder, this tool aims to provide comprehensive guidance for both bullish and bearish market conditions.

/
//
//  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(LongStopRef(ShortStop,-1),colorCustom1,colorBlue),ParamStyle("Style Stop Short",styleLine|styleLine) );
Plot(LongStop,"Stop Long", IIf(LongStop

Open chat
1
Hi, how can I help you?