Advanced Support Resistance And Trendlines Afl
Startt=SelectedValue(ValueWhen( pS, x, 2 )); dtS =endt-startt; endS = SelectedValue(ValueWhen( pS, s1, 1 ) ); startS = SelectedValue( ValueWhen( pS, s1, 1 )); aS = (endS-startS)/dtS; bS = endS; trendlineS = aS. ( x -endt ) + bS; g3= IIf(xstartt-10,trendlineS,-1e10); Plot(g3,',colorRed,styleDots,styleThick). Support & Resistance with trend lines & horizontals. Support and resistance play an important role in successful trading. These levels indicate at what moment the price of a share or Forex pair is likely to move in the opposite direction. You can use these levels to find a good time to open a trade or investment. Support & Resistant with Exploration mode - Largest database of free formulas, indicators, oscillators and trading systems for Amibroker (AFL), Metastock, eSignal (EFS), and NinjaTrader. 👇 SUBSCRIBE TO MY NEW FOREXVISIT CRYPTO YOUTUBE CHANNEL NOW 👇SUBSCRIBE TO FOREXVISIT YOUTUBE CHA.
Auto Support Resistance advance trend lines for Amibroker (AFL)
_SECTION_BEGIN('Advanced Trend Lines');
function GetXSupport(Lo, Percentage, Back)
{
return ((BarCount - 1) - LastValue(TroughBars(Lo, Percentage,Back)));
}
function GetYSupport(Lo, Percentage, Back)
{
return (LastValue(Trough(Lo, Percentage, back)));
}
function GetXResistance(Hi, Percentage, Back)
{
return ((BarCount - 1) -LastValue(PeakBars(Hi, Percentage, Back)));
}
function GetYResistance(Hi, Percentage, Back)
{
return (LastValue(Peak(Hi, Percentage, Back)));
}
function TD_Supply(P)
{
return ( P > Ref(P, 1) AND P > Ref(P, -1) AND P > Ref(C, -2));
}
function TD_Demand(P)
{
return ( P < Ref(P, 1) AND P < Ref(P, -1) AND P < Ref(C, -2));
}
////////////////////////////////////////////////////////////////////////
//Parameters
Percentage = Param('Percentage', 1.5, 0.01, 100. ,0.01);
DrawAllLines = ParamToggle('Draw All Lines?', 'No|Yes');
Lines = Param('Lines?', 1, 1, BarCount-2);
DrawR = ParamList('Resistance Points', 'Off|High to High|High to Low', 1);
DrawS = ParamList('Support Points', 'Off|Low to Low|Low to High', 1);
ShowTDP = ParamToggle('Show TD Pionts', 'No|Yes', 1);
AllOrDownR = ParamToggle('Resistance Direction', 'All|Down');
AllOrUpS = ParamToggle('Support Direction', 'All|Up');
ShowSR = ParamToggle('Show Vert S/R','No|Yes', 1);
SRPer = Param('S/R Percentage', 3, 1);
SRBack = Param('S/R Back', 5, 1);
str = ';
Res = Sup = 0;
Con = 1;
////////////////////////////////////////////////////////////////////////
Main = C;
Con = ConS = ConR = 1;
if(DrawS'Low to Low')
{
Support1 = L;
Support2 = L;
}
else
{
Support1 = L;
Support2 = H;
}
if(DrawR'High to High')
{
Resistance1 = H;
Resistance2 = H;
}
else
{
Resistance1 = H;
Resistance2 = L;
}
////////////////////////////////////////////////////////////////////////
//Plotting Area
Plot(Main, ', IIf(C>O,colorGreen, colorRed), styleCandle);
if(DrawAllLines)
for(i = 2; i<=Lines+1; i++)
{
if(DrawS!='Off')
{
x0 = GetXSupport(Support1, Percentage, i);
x1 = GetXSupport(Support2, Percentage, i-1);
y0 = GetYSupport(Support1, Percentage, i);
y1 = GetYSupport(Support2, Percentage, i-1);
x = LineArray(x0, y0, x1, y1, 1);
if(AllOrUpS) ConS = StrToNum(NumToStr(y0 < y1));
if(Con AND ConS)
Plot(x, ', IIf(LastValue(C) < LastValue(x), colorBlue,colorBlue),
styleLine|styleThick);
}
if(DrawR!='Off')
{
x0 = GetXResistance(Resistance1, Percentage, i);
x1 = GetXResistance(Resistance2, Percentage, i-1);
y0 = GetYResistance(Resistance1, Percentage, i);
y1 = GetYResistance(Resistance2, Percentage, i-1);
x = LineArray(x0, y0, x1, y1, 1);
if(AllOrDownR) ConR = y0 > y1;
if(Con AND ConR)
Plot(x, ', IIf(LastValue(C) < LastValue(x), colorRed,colorRed),
styleLine|styleThick);
}
}
else
{
if(DrawS!='Off')
{
x0 = GetXSupport(Support1, Percentage, Lines+1);
x1 = GetXSupport(Support2, Percentage, Lines);
y0 = GetYSupport(Support1, Percentage, Lines+1);
y1 = GetYSupport(Support2, Percentage, Lines);
x = LineArray(x0, y0, x1, y1, 1 );
Sup = LastValue(LinRegSlope(x, Lines+1));
if(AllOrUpS) ConS = y0 < y1;
if(Con AND ConS)
Plot(x, ', IIf(LastValue(C) < LastValue(x), colorBlue,colorBlue),
styleLine|styleThick);
}
if(DrawR!='Off')
{
x0 = GetXResistance(Resistance1, Percentage, Lines+1);
x1 = GetXResistance(Resistance2, Percentage, Lines);
y0 = GetYResistance(Resistance1, Percentage, Lines+1);
y1 = GetYResistance(Resistance2, Percentage, Lines);
x = LineArray(x0, y0, x1, y1, 1 );
Res = LastValue(LinRegSlope(x, Lines+1));
if(AllOrDownR) ConR = y0 > y1;
if(Con AND ConR)
Plot(x, ', IIf(LastValue(C) < LastValue(x), colorRed,colorRed),
styleLine|styleThick);
}
str = 'nR Slope=('+Res+'), S Slope=('+Sup+')';
}
Advanced Support Resistance And Trendlines Aflam
if(ShowTDP)
{
PlotShapes(TD_Supply(H)*shapeSmallCircle, colorRed, 0, H, H*.001);
PlotShapes(TD_Demand(L)*shapeSmallCircle, colorGreen, 0, L, -L*.001);
}
if(ShowSR)
{
for(i=1; i<=SRBack; i++)
{
x0 = GetXSupport(L, SRPer, i);
x1 = BarCount-1;
y0 = GetYSupport(L, SRPer, i);
x = LineArray(x0, y0, x1, y0, 0);
Plot(x, ', IIf(LastValue(C) > x, colorDarkGreen, colorDarkRed),
styleLine|styleDashed|styleThick);
x0 = GetXResistance(H, SRPer, i);
y0 = GetYResistance(H, SRPer, i);
x = LineArray(x0, y0, x1, y0, 0);
Plot(x, ', IIf(LastValue(C) > x, colorDarkGreen, colorDarkRed),
styleLine|styleDashed|styleThick);
}
Auto Trend Line With Buy And Sell Signal Support Resistance
}Major Support Resistance Trend Line - Afl Code
Title =FullName()+' ({{NAME}})n{{DATE}}n'+'Open: '+O+', Hi: '+H+', Lo: '+L+',Close: '+C+StrFormat(' (%.2f %.2f%)', C-Ref(C, -1), SelectedValue(ROC(C,
1)))+str;