Plz help to convert this version 6 code to 5.6

#1
/****
Converted by Kelvinhand @20160123
From: https://jp.tradingview.com/script/ng...-Tops-Bottoms/

****/

pctile = Param("Percentile Threshold Extreme Value, Exceeding Creates Colored Histogram", 90, 1, 999);
wrnpctile = Param("Percentile Threshold Warning Value, Exceeding Creates Colored Histogram", 70, 1,999);
pmShort = Param("PPO Setting - Short", 0.4, 0.1, 100, 0.1);
pmLong = Param("PPO Setting - Long",0.8, 0.1, 100, 0.1);

lkbT = Param("Look Back Period for 'Tops' %Rank is based off of?", 200, 3, 999);
lkbB = Param("Look Back Period For 'Bottoms' %Rank is based off of?", 200, 3, 999);

sl=ParamToggle("Show Threshold Line?", "No|Yes", 1);
swl=ParamToggle("Show Warning Threshold Line?", "No|Yes", 1);


//Laguerre PPO Code from TheLark
function lag(g,p)
{

f[0]=L0[0] = L1[0] = L2[0] = L3[0] = 0;

for(i=1;i<BarCount;i++)
{
L0 = (1-g)*p+g*L0[i-1];
L1 = -g*L0+L0[i-1]+g*L1[i-1];
L2 = -g*L1+L1[i-1]+g*L2[i-1];
L3 = -g*L2+L2[i-1]+g*L3[i-1];
f = (L0+2*L1+ 2*L2 + L3)/6;
}

return f;

}


hl2 = (H+L)/2;

lmas = lag(pmShort, hl2);
lmal = lag(pmLong, hl2);


pctileB = -1*pctile;
wrnpctileB = -wrnpctile;

//PPO Plot
ppoT = 100*(lmas - lmal)/lmal;
ppoB = 100*(lmal - lmas)/lmal;

//PercentRank of PPO
pctRankT = percentrank(ppoT, lkbT);
pctRankB = -1*percentrank(ppoB, lkbB);

//Color Definition of Columns
colT = IIf(pctRankT >= pctile, colorred, IIf(pctRankT >= wrnpctile and pctRankT < pctile, colororange , colorgrey50));
colB = IIf(pctRankB <= pctileB, colorlime, IIf(pctRankB <= wrnpctileB and pctRankB < pctileB, colorgreen , colorgrey50));

//Plot Statements.
SetBarFillColor(colT);
plot(pctRankT,"Tops %Rank Columns", colorLightGrey, styleArea|styleThick, Null, Null, 0, -1);
PlotGrid(IIf(sl and pctile , pctile, Null), colorred, 10,4);
PlotGrid(IIf(swl and wrnpctile , wrnpctile, Null), colorOrange, 10,4);

SetBarFillColor(colB);
plot(pctRankB,"Bottoms %Rank Columns", colorLightGrey, styleArea|styleThick, Null, Null, 0, -1);
PlotGrid(IIf(sl and pctileB, pctileB, Null), colorlime, 10,4);
PlotGrid(IIf(swl and wrnpctileB, wrnpctileB, Null), colorGreen, 10,4);

plotGrid(0, colorGrey40,9, 5);
 

Attachments

mudraatrader

Well-Known Member
#2
Some queries
1. How to read the indicator as in lower pane.
2. This indicator works good for lower time frame or higher time frame or any time frame.
 
#3
/****
Converted by Kelvinhand @20160123
*toptrader modified*
From: https://jp.tradingview.com/script/ng...-Tops-Bottoms/

****/

pctile = Param("Percentile Threshold Extreme Value, Exceeding Creates Colored Histogram", 90, 1, 999);
wrnpctile = Param("Percentile Threshold Warning Value, Exceeding Creates Colored Histogram", 70, 1,999);
pmShort = Param("PPO Setting - Short", 0.4, 0.1, 100, 0.1);
pmLong = Param("PPO Setting - Long",0.8, 0.1, 100, 0.1);

lkbT = Param("Look Back Period for 'Tops' %Rank is based off of?", 200, 3, 999);
lkbB = Param("Look Back Period For 'Bottoms' %Rank is based off of?", 200, 3, 999);

sl=ParamToggle("Show Threshold Line?", "No|Yes", 1);
swl=ParamToggle("Show Warning Threshold Line?", "No|Yes", 1);


//Laguerre PPO Code from TheLark
function lag(g,p)
{

f[0]=L0[0] = L1[0] = L2[0] = L3[0] = 0;

for(i=1;i<BarCount;i++)
{
L0 = (1-g)*p+g*L0[i-1];
L1 = -g*L0+L0[i-1]+g*L1[i-1];
L2 = -g*L1+L1[i-1]+g*L2[i-1];
L3 = -g*L2+L2[i-1]+g*L3[i-1];
f = (L0+2*L1+ 2*L2 + L3)/6;
}

return f;

}


hl2 = (H+L)/2;

lmas = lag(pmShort, hl2);
lmal = lag(pmLong, hl2);


pctileB = -1*pctile;
wrnpctileB = -wrnpctile;

//PPO Plot
ppoT = 100*(lmas - lmal)/lmal;
ppoB = 100*(lmal - lmas)/lmal;

//PercentRank of PPO
pctRankT = PercentRank(ppoT, lkbT);
pctRankB = -1*PercentRank(ppoB, lkbB);

//Color Definition of Columns
colT = IIf(pctRankT >= pctile, colorRed, IIf(pctRankT >= wrnpctile AND pctRankT < pctile, colorOrange , colorGrey50));
colB = IIf(pctRankB <= pctileB, colorLime, IIf(pctRankB <= wrnpctileB AND pctRankB < pctileB, colorGreen , colorGrey50));

//Plot Statements.
SetBarFillColor(colT);
Plot(pctRankT,"Tops %Rank Columns", colorLightGrey, styleArea|styleThick, Null, Null, 0, -1);
PlotGrid(IIf(sl AND pctile , pctile, Null), colorRed);
PlotGrid(IIf(swl AND wrnpctile , wrnpctile, Null), colorOrange);

SetBarFillColor(colB);
Plot(pctRankB,"Bottoms %Rank Columns", colorLightGrey, styleArea|styleThick, Null, Null, 0, -1);
PlotGrid(IIf(sl AND pctileB, pctileB, Null), colorLime);
PlotGrid(IIf(swl AND wrnpctileB, wrnpctileB, Null), colorGreen);

PlotGrid(0, colorGrey40);
 

Similar threads