Any AFL developer can help me out from Support and Resistance afl
Some changes has to done in this afl
afl idenfication has to be done in Daily Graph but ploting should done in 15 min graph.
SetChartOptions( 0, chartShowDates );
_SECTION_BEGIN( "Price" );
_N( Title = StrFormat( "{{NAME}} - {{INTERVAL}} {{DATE}} \n OPEN - %g \n HIGH - %g \n LOW - %g \n CLOSE -%g ", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ) );
Plot( C, "Close", ParamColor( "Color", colorBlack ), styleNoTitle | styleCandle | styleThick );
_SECTION_END();
_SECTION_BEGIN("Support / Resistance");
// START SCRIPT UNTUK SUPPORT / RESISTANT
Res = ParamColor("Resistant",colorRed);
Sup = ParamColor("Support",colorGreen);
R1_show = 0;
S1_show = 0;
SRStyle = ParamStyle("S/R Style",styleThick);
if (ParamToggle("S/R", "Yes/No", 1 ))
{
// RESISTANT
LastHighestValue = LastVisibleValue(Ref(H,-1));
if (LastVisibleValue(H) == H[LastValue(BarIndex())]) LastHighestValue = LastVisibleValue(H);
i = 1;
if (LastHighestValue < HighestVisibleValue(H))
{
while (LastVisibleValue(ValueWhen(H <= Ref(H,-1) AND Ref(H,-2) <= Ref(H, -1),Ref(H, -1), i)) < LastHighestValue)
i++;
R1 = LastVisibleValue(ValueWhen(H <= Ref(H,-1) AND Ref(H,-2) <= Ref(H, -1),Ref(H, -1), i));
R1x = LastVisibleValue(ValueWhen(H <= Ref(H,-1) AND Ref(H,-2) <= Ref(H, -1),Ref(BarIndex(), -1), i));
Plot(IIf(BarIndex() >= R1x,LastValue(R1),Null),"R1",Res ,SRStyle);
PlotText("" + R1, BarCount + 1, LastValue(R1), Res);
R1_show = 1;
i++;
}
else if (LastHighestValue == HighestVisibleValue(H))
{
R1 = LastVisibleValue(ValueWhen(H <= Ref(H,-1) AND Ref(H,-2) <= Ref(H, -1),Ref(H, -1), i));
R1x = LastVisibleValue(ValueWhen(H <= Ref(H,-1) AND Ref(H,-2) <= Ref(H, -1),Ref(BarIndex(), -1), i));
if (R1 == LastHighestValue)
{
Plot(IIf(BarIndex() >= R1x,LastValue(R1),Null),"R1",Res ,SRStyle);
PlotText("" + R1, BarCount + 1, LastValue(R1), Res);
R1_show = 1;
}
}
// SUPPORT
LastLowestValue = LastVisibleValue(Ref(L,-1));
if (LastVisibleValue(L) == L[LastValue(BarIndex())]) LastLowestValue = LastVisibleValue(L);
i = 1;
if (LastLowestValue > LowestVisibleValue(L))
{
while (LastVisibleValue(ValueWhen(L >= Ref(L,-1) AND Ref(L,-2) >= Ref(L, -1),Ref(L, -1), i)) > LastLowestValue)
i++;
S1 = LastVisibleValue(ValueWhen(L >= Ref(L,-1) AND Ref(L,-2) >= Ref(L, -1),Ref(L, -1), i));
S1x = LastVisibleValue(ValueWhen(L >= Ref(L,-1) AND Ref(L,-2) >= Ref(L, -1),Ref(BarIndex(), -1), i));
Plot(IIf(BarIndex() >= S1x,LastValue(S1),Null),"S1",Sup ,SRStyle);
PlotText("" + S1, BarCount + 1, LastValue(S1), Sup);
S1_show = 1;
i++;
}
else if (LastLowestValue == LowestVisibleValue(L))
{
S1 = LastVisibleValue(ValueWhen(L >= Ref(L,-1) AND Ref(L,-2) >= Ref(L, -1),Ref(L, -1), i));
S1x = LastVisibleValue(ValueWhen(L >= Ref(L,-1) AND Ref(L,-2) >= Ref(L, -1),Ref(BarIndex(), -1), i));
if (S1 == LastLowestValue)
{
Plot(IIf(BarIndex() >= S1x,LastValue(S1),Null),"S1",Sup ,SRStyle);
PlotText("" + S1, BarCount + 1, LastValue(S1), Sup);
S1_show = 1;
}
}
}
// END SCRIPT UNTUK SUPPORT / RESISTANT
_SECTION_END();
Some changes has to done in this afl
afl idenfication has to be done in Daily Graph but ploting should done in 15 min graph.
SetChartOptions( 0, chartShowDates );
_SECTION_BEGIN( "Price" );
_N( Title = StrFormat( "{{NAME}} - {{INTERVAL}} {{DATE}} \n OPEN - %g \n HIGH - %g \n LOW - %g \n CLOSE -%g ", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ) );
Plot( C, "Close", ParamColor( "Color", colorBlack ), styleNoTitle | styleCandle | styleThick );
_SECTION_END();
_SECTION_BEGIN("Support / Resistance");
// START SCRIPT UNTUK SUPPORT / RESISTANT
Res = ParamColor("Resistant",colorRed);
Sup = ParamColor("Support",colorGreen);
R1_show = 0;
S1_show = 0;
SRStyle = ParamStyle("S/R Style",styleThick);
if (ParamToggle("S/R", "Yes/No", 1 ))
{
// RESISTANT
LastHighestValue = LastVisibleValue(Ref(H,-1));
if (LastVisibleValue(H) == H[LastValue(BarIndex())]) LastHighestValue = LastVisibleValue(H);
i = 1;
if (LastHighestValue < HighestVisibleValue(H))
{
while (LastVisibleValue(ValueWhen(H <= Ref(H,-1) AND Ref(H,-2) <= Ref(H, -1),Ref(H, -1), i)) < LastHighestValue)
i++;
R1 = LastVisibleValue(ValueWhen(H <= Ref(H,-1) AND Ref(H,-2) <= Ref(H, -1),Ref(H, -1), i));
R1x = LastVisibleValue(ValueWhen(H <= Ref(H,-1) AND Ref(H,-2) <= Ref(H, -1),Ref(BarIndex(), -1), i));
Plot(IIf(BarIndex() >= R1x,LastValue(R1),Null),"R1",Res ,SRStyle);
PlotText("" + R1, BarCount + 1, LastValue(R1), Res);
R1_show = 1;
i++;
}
else if (LastHighestValue == HighestVisibleValue(H))
{
R1 = LastVisibleValue(ValueWhen(H <= Ref(H,-1) AND Ref(H,-2) <= Ref(H, -1),Ref(H, -1), i));
R1x = LastVisibleValue(ValueWhen(H <= Ref(H,-1) AND Ref(H,-2) <= Ref(H, -1),Ref(BarIndex(), -1), i));
if (R1 == LastHighestValue)
{
Plot(IIf(BarIndex() >= R1x,LastValue(R1),Null),"R1",Res ,SRStyle);
PlotText("" + R1, BarCount + 1, LastValue(R1), Res);
R1_show = 1;
}
}
// SUPPORT
LastLowestValue = LastVisibleValue(Ref(L,-1));
if (LastVisibleValue(L) == L[LastValue(BarIndex())]) LastLowestValue = LastVisibleValue(L);
i = 1;
if (LastLowestValue > LowestVisibleValue(L))
{
while (LastVisibleValue(ValueWhen(L >= Ref(L,-1) AND Ref(L,-2) >= Ref(L, -1),Ref(L, -1), i)) > LastLowestValue)
i++;
S1 = LastVisibleValue(ValueWhen(L >= Ref(L,-1) AND Ref(L,-2) >= Ref(L, -1),Ref(L, -1), i));
S1x = LastVisibleValue(ValueWhen(L >= Ref(L,-1) AND Ref(L,-2) >= Ref(L, -1),Ref(BarIndex(), -1), i));
Plot(IIf(BarIndex() >= S1x,LastValue(S1),Null),"S1",Sup ,SRStyle);
PlotText("" + S1, BarCount + 1, LastValue(S1), Sup);
S1_show = 1;
i++;
}
else if (LastLowestValue == LowestVisibleValue(L))
{
S1 = LastVisibleValue(ValueWhen(L >= Ref(L,-1) AND Ref(L,-2) >= Ref(L, -1),Ref(L, -1), i));
S1x = LastVisibleValue(ValueWhen(L >= Ref(L,-1) AND Ref(L,-2) >= Ref(L, -1),Ref(BarIndex(), -1), i));
if (S1 == LastLowestValue)
{
Plot(IIf(BarIndex() >= S1x,LastValue(S1),Null),"S1",Sup ,SRStyle);
PlotText("" + S1, BarCount + 1, LastValue(S1), Sup);
S1_show = 1;
}
}
}
// END SCRIPT UNTUK SUPPORT / RESISTANT
_SECTION_END();