+91-0000000000

}

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

Channel Line

Channel line is a technical term that refers to a line drawn parallel to the main trend line on a price chart. It marks the resistance or support level for the price movement. Amibroker data feeder and Amibroker AFL are tools that help you draw and use channel lines effectively. Amibroker data feeder provides data for Amibroker charts. Amibroker AFL lets you code trading strategies using channel lines.

/*
HaDiffCo for use with Heikin-Ashi Modified Candlestick Chart
*/
HaClose=(O+H+L+C)/4;
HaOpen=AMA(Ref(HaClose,-1),0.5);
HaHigh=Max(H,Max(HaClose,HaOpen));
HaLow=Min(L,Min(HaClose,HaOpen));

HaDiffCO = HaClose-HaOpen;

Per = Param("MA Periods",8,3,50,1);
Plot(HaDiffCO,"HaDiffCO",colorWhite);
Plot(WMA(HaDiffCO,5),"HaDiffCO",colorRed);
//Plot(WMA(HaDiffCO,15),"HaDiffCO",colorWhite);
Plot(MA(HaDiffCO,per),"MA("+per+")",colorBlue);

VarHa1 = (HaDiffCO + WMA(HaDiffCO,5))/2;
Plot(VarHa1,"VarHa1",colorYellow);

%B AD 1

To achieve accurate and meaningful analysis when using Amibroker AFL, it is important to obtain high-quality Amibroker data. With reliable data sources, traders can create custom indicators and backtest trading strategies for better trading decisions. Invest in quality data to ensure successful trading with Amibroker.

/*The Relative Slope Trendlines
Note: Very strong buy-sell signal when RS crosses zero
*/


D1=Param("D1",10,0,100,1);
KUP=EMA((H+L+C)/3,D1)+EMA(H-L,D1);
KDOWN=EMA((H+L+C)/3,D1)-EMA(H-L,D1);
K=EMA((H+L+C)/3,D1);
S1=2*(K-Ref(K,-1))/(K+Ref(K,-1));
varEMA = Param("EMA",3,0,100,1);
RS=10+100*EMA(S1,VarEMA);

x = Cum(1);
per = 1;
s1=rs;
s11=rs;
pS = TroughBars( s1, per, 1 ) == 0;
endt= LastValue(ValueWhen( pS, x, 1 ));
startt=LastValue(ValueWhen( pS, x, 2 ));
dtS =endt-startt;
endS = LastValue(ValueWhen( pS, s1, 1 ) );
startS = LastValue( ValueWhen( pS, s1, 2 ));
aS = (endS-startS)/dtS;
bS = endS;
trendlineS = aS * ( x -endt ) + bS;
pR = PeakBars( s11, per, 1 ) == 0;
endt1= LastValue(ValueWhen( pR, x, 1 ));
startt1=LastValue(ValueWhen( pR, x, 2 ));
dtR =endt1-startt1;
endR = LastValue(ValueWhen( pR, s11, 1 ) );
startR = LastValue( ValueWhen( pR, s11, 2 ));
aR = (endR-startR)/dtR;
bR = endR;
trendlineR = aR * ( x -endt1 ) + bR;

// Plotting
VarMA5 = MA(RS,5);
MaxGraph = 8;
Plot(RS,"",IIf(RS>10,colorBrightGreen,IIf(RS<10,colorRed,colorWhite)),styleThick);
//Plot(VarMA5,"",colorBlack,styleThick);
Plot(VarMA5,"",IIf(VarMA5>Ref(VarMA5,-1),colorYellow,colorBlack),styleThick);
//Plot(ROC(RS),"",colorBlack,styleThick | styleOwnScale);
Plot(IIf(x>startt-10,trendlineS,-1e10),"",colorYellow,styleDots);
Plot(IIf(x>startT1-10,trendlineR,-1e10),"",colorDarkRed,styleDots);
Plot(8,"",colorGreen,styleThick);
Plot(9,"",colorGreen,styleThick);
Plot(10,"",colorBlack,styleThick);
Plot(11,"",colorRed,styleThick);
Plot(12,"",colorRed,styleThick);
GraphXSpace= 1;
Title ="RS - Price " + WriteIf(InWatchList(11),"(Ticker may be SHORTED)","");

/*
As an indicator, it presents excellent divergences with Close graph, anticipating
trend reversals.
It is also valuable for classification of stocks, according to their maximum and minimum
RS values.

The Relative Slope transformation should be applied to positive arrays. If for example we want to have the Relative Slope of the Slow Stochastic, we may write
F=StochD();
K=EMA(F,10);
S1=2*(K-REF(K,-1))/(K+REF(K,-1));
RS=100*EMA(S1,3);
since StochD() is always positive.
For a Relative slope of MACD(), Roc() and other quantities with negative values, the graph is strange and useless. These negative arrays should be first transformed to positive, example
MACD1=1000+MACD();
K=EMA(MACD1,10);
S1=2*(K-REF(K,-1))/(K+REF(K,-1));
RS=100*EMA(S1,3);
*/

Open chat
1
Hi, how can I help you?