RSI Trending AFL xác định hành động giá theo xu hướng chuyển động. Afl này được cập nhật trên cơ sở khái niệm Công thức RSI. Trên thực tế, đây là cách vẽ một đường xu hướng vào Đường RSI. Trong thế giới giao dịch, mọi nhà giao dịch đều sử dụng Công thức RSI như một mức độ biến động. Nhưng RSI thông thường không hiển thị chuyển động xu hướng khi nó giảm hoặc tăng. Bởi vì RSI thông thường không vẽ đường. Vì vậy, cần phải vẽ một đường với chuyển động giá. RSI Tending AFL đáp ứng nhu cầu này.
Trong
hình vẽ có một đường xu hướng trên Đường RSI. Với biến động giá, Đường xu hướng
RSI cũng di chuyển theo cách riêng của nó. Vì nó được vẽ một đường trên Đường
RSI nên rất dễ xác định giá.
Trong
hình ảnh có hai màu của đường xu hướng. Một là màu xanh lá cây và một là màu
xanh lam. Màu xanh lá cây ám chỉ chuyển động mức thấp hơn của RSI và màu còn lại
ám chỉ chuyển động mức cao hơn. Đường di chuyển theo chuyển động của hành động
giá. Ngoài ra còn có mũi tên màu xanh lá cây để xác định mức thoái lui của xu
hướng.
_SECTION_BEGIN("Ami");
GfxSetBkMode(1);
X=750;
Y=1;
Font=10;
GfxSelectFont("Impact",Font*2.2,
550);GfxSetTextColor(colorRed);GfxTextOut("KrT group",x,y);
GfxSelectFont("Impact",Font*2.2,
550);GfxSetTextColor(colorGreen);GfxTextOut("RESEARCH",x+120,Y);
_SECTION_END();
//---------------------------------------------
SetBarsRequired(sbrAll,
sbrAll);
TP
= Param("Trend Per", 300,2,1000);
per_RSI=
Param("RSI Per", 9, 7, 35,1);
IND
= RSI(per_RSI);
Center
= 50 ;
Plot(
RSI(per_RSI), "", 4, 4);
Plot(50,"",1,1)
;
//
CALCULATE UPTREND
startvalue
= LastValue( LLV( IND, TP ) );
startbar
= LastValue( ValueWhen( IND == startvalue, BarIndex(), 1) );
BP
= BarCount - Startbar;
secondvalue
= LastValue( LLV( IND, BP - 5 ) );
secondbar
= LastValue( ValueWhen( IND == secondvalue, BarIndex(), 1) );
BP2
= BarCount - secondbar;
thirdvalue
= LastValue( LLV( IND, BP2 - 5 ) );
thirdbar
= LastValue( ValueWhen( IND == thirdvalue, BarIndex(), 1) );
BP3
= BarCount - thirdbar;
fourthvalue
= LastValue( LLV( IND, BP3 - 5 ) );
fourthbar
= LastValue( ValueWhen( IND ==fourthvalue, BarIndex(), 1) );
BP4
= BarCount - fourthbar;
fifthvalue
= LastValue( LLV( IND, BP4 - 5 ) );
fifthbar
= LastValue( ValueWhen( IND ==fifthvalue, BarIndex(), 1) );
BP5
= BarCount - fifthbar;
sixthvalue
= LastValue( LLV( IND, BP5 - 5 ) );
sixthbar
= LastValue( ValueWhen( IND ==sixthvalue, BarIndex(), 1) );
Low_1=
IIf( BarIndex() == startbar, 80, Null);
Low_2=
IIf( BarIndex() == secondbar, 80, Null);
Low_3=
IIf( BarIndex() == thirdbar, 80, Null);
Low_4=
IIf( BarIndex() == fourthbar, 80, Null);
Low_5=
IIf( BarIndex() == fifthbar, 80, Null);
Low_6=
IIf( BarIndex() == sixthbar, 80, Null);
b =
startvalue ;
FirstSlope
= (secondvalue - b) / (secondbar - startbar) ;
FirstTrendline
= FirstSlope * ( BarIndex() - startbar ) + b;
//
Plot( IIf( BarIndex() >= startbar AND
FirstTrendline <= 90 , FirstTrendline, Null ) , "FirstTrendline",
colorGreen, styleThick +2048 );
SecondSlope
= (thirdvalue - b) / (thirdbar - startbar) ;
SecondTrendline
= SecondSlope * ( BarIndex() - startbar ) + b;
ThirdSlope
= (fourthvalue - b) / (fourthbar - startbar) ;
ThirdTrendline
= ThirdSlope * ( BarIndex() - startbar ) + b;
FourthSlope
= (fifthvalue - b) / (fifthbar - startbar) ;
FourthTrendline
= FourthSlope * ( BarIndex() - startbar ) + b;
FifthSlope
= (sixthvalue - b) / (sixthbar - startbar) ;
FifthTrendline
= FifthSlope * ( BarIndex() - startbar ) + b;
MainSlope
= IIf( FirstSlope > SecondSlope, IIf( SecondSlope > ThirdSlope, IIf(
ThirdSlope > FourthSlope,
IIf( FourthSlope > FifthSlope, FifthSlope,
FourthSlope),ThirdSlope), SecondSlope), FirstSlope) ;
MainLine
= MainSlope * ( BarIndex() - startbar ) + b;
Plot( IIf( BarIndex()
>= startbar, MainLine, Null ) , "MainLine", colorDarkGreen, styleThick
) ;
IND_Diff
= IIf( BarIndex() >= startbar, abs( IND - MainLine), Null) ;
MainTrendLine_Diff
= Param("Difference IND from MainTrendLine", 2.5, 0.5,5, 0.5);
Cond_Buy
= IIf( BarIndex() >= Thirdbar AND IND_Diff <= MainTrendLine_Diff,
IND, 0) AND MainLine < 55 ;
PlotShapes(
IIf( Cond_Buy, shapeUpArrow , shapeNone ), colorGreen );
/////////////////////////////////////////////
//
CALCULATE DOWNTREND
starthigh
= LastValue( HHV( IND, TP ) );
starthighbar
= LastValue( ValueWhen( IND == starthigh, BarIndex(), 1) );
HBP
= BarCount - starthighbar;
secondhigh
= LastValue( HHV( IND, HBP - 5 ) );
secondhighbar
= LastValue( ValueWhen( IND == secondhigh, BarIndex(), 1) );
HBP2
= BarCount - secondhighbar;
thirdhigh
= LastValue( HHV( IND, HBP2 - 5 ) );
thirdhighbar
= LastValue( ValueWhen( IND == thirdhigh, BarIndex(), 1) );
HBP3
= BarCount - thirdhighbar;
fourthhigh
= LastValue( HHV( IND, HBP3 - 5 ) );
fourthhighbar
= LastValue( ValueWhen( IND ==fourthhigh, BarIndex(), 1) );
HBP4
= BarCount - fourthhighbar;
fifthhigh
= LastValue( HHV( IND, HBP4 - 5 ) );
fifthhighbar
= LastValue( ValueWhen( IND ==fifthhigh, BarIndex(), 1) );
HBP5
= BarCount - fifthhighbar;
sixthhigh
= LastValue( HHV( IND, HBP5 - 5 ) );
sixthhighbar
= LastValue( ValueWhen( IND ==sixthhigh, BarIndex(), 1) );
High_1=
IIf( BarIndex() == starthighbar, 90, Null);
High_2=
IIf( BarIndex() == secondhighbar, 90, Null);
High_3=
IIf( BarIndex() == thirdhighbar, 90, Null);
High_4=
IIf( BarIndex() == fourthhighbar, 90, Null);
High_5=
IIf( BarIndex() == fifthhighbar, 90, Null);
High_6=
IIf( BarIndex() == sixthhighbar, 90, Null);
MainTrendLine_Diff
= Param("Difference IND from MainTrendLine", 2.5, 0.5,7, 0.5);
d =
starthigh ;
FirstDownSlope
= (secondhigh - d) / (secondhighbar - starthighbar) ;
FirstDownTrendline
= FirstDownSlope * ( BarIndex() - starthighbar ) + d;
SecondDownSlope
= (thirdhigh - d) / (thirdhighbar - starthighbar) ;
SecondDownTrendline
= SecondDownSlope * ( BarIndex() - starthighbar ) + d;
ThirdDownSlope
= (fourthhigh - d) / (fourthhighbar - starthighbar) ;
ThirdDownTrendline
= ThirdDownSlope * ( BarIndex() - starthighbar ) + d;
FourthDownSlope
= (fifthhigh - d) / (fifthhighbar - starthighbar) ;
FourthDownTrendline
= FourthDownSlope * ( BarIndex() - starthighbar ) + d;
FifthDownSlope
= (sixthhigh - d) / (sixthhighbar - starthighbar) ;
FifthDownTrendline
= FifthDownSlope * ( BarIndex() - starthighbar ) + d;
MainDownSlope
= IIf( FirstDownSlope < SecondDownSlope, IIf( SecondDownSlope
< ThirdDownSlope,
IIf(
ThirdDownSlope < FourthDownSlope, IIf( FourthDownSlope
< FifthDownSlope, FifthDownSlope,
FourthDownSlope),ThirdDownSlope),
SecondDownSlope), FirstDownSlope) ;
MainDownLine
= IIf( MainDownSlope == 0, Null, MainDownSlope * ( BarIndex() - starthighbar
) + d ) ;
Plot( IIf( BarIndex()
>= starthighbar, MainDownLine, Null ) , "Main_DOWN_Line",
colorViolet, styleThick ) ;
IND_Diff
= IIf( BarIndex() >= starthighbar, abs( IND - MainDownLine),
Null) ;
Cond_Sell
= IIf( BarIndex() >= Thirdbar AND IND_Diff <= MainTrendLine_Diff,
IND, 0) AND MainDownLine > 45 ;
PlotShapes( IIf( Cond_Sell, shapeDownArrow , shapeNone ), colorRed );
Title
= Name() + "\\c17" + " " +"\\c12"
+ "RSI" + " " + per_RSI ;
👉Tải tại đây
https://drive.google.com/file/d/1L9boAh10sDf-L6qhXOwaSMSPacI-jCzC/view?usp=drive_link
Hữu ích !
ReplyDelete