Code Amibroker Indicators

chỉ báo15 phút giao dịch cho Amibroker (AFL)

by admin January 12, 2019 7 min read 0 comments

Key Takeaways

  • Market conditions and their impact on trading decisions
  • Key levels and price action analysis
  • Risk management strategies for this setup

Đây là một aflay trong ngày tôi chưa mã hóa điều này nhưng chỉ cần thêm một số công thức nó hoạt động trong 15 phút. Hoặc trên khung thời gian..chỉ giao dịch trên yelowline hoặc dưới kết quả tốt.

_SECTION_BEGIN(“graph”);
SetChartOptions(0,chartShowArrows|chartShowDates);
gxs=Param(“GRAPH spaceing”,10,5,50,5);
GraphXSpace = gxs;
strWeekday = StrMid(“SunMonTueWedThuFriSat”, SelectedValue(DayOfWeek())*3,3);
_SECTION_END();
_SECTION_BEGIN(“Intraday “);
k = Optimize(“K”,Param(“K”,1.75,1,5,0.25),1,5,0.25);
Per= Optimize(“atr”,Param(“atr”,10,3,30,1),3,30,1);
j=(O+H+L+C)/4;
nm= (H-L);
rfsctor = WMA(nm, PER);
revers = K * rfsctor;
Trend = 1;
NW[0] = 0;
for(i = 1; i < BarCount; i++) { if(Trend[i-1] == 1) { if(j[i] < NW[i-1]) { Trend[i] = -1; NW[i] = j[i] + Revers[i]; } else { Trend[i] = 1; if((j[i] – Revers[i]) > NW[i-1])
{
NW[i] = j[i] – Revers[i];
}
else
{
NW[i] = NW[i-1];
}
}
}
if(Trend[i-1] == -1)
{
if(j[i] > NW[i-1])
{
Trend[i] = 1;
NW[i] = j[i] – Revers[i];
}
else
{
Trend[i] = -1;
if((j[i] + Revers[i]) < NW[i-1])
{
NW[i] = j[i] + Revers[i];
}
else
{
NW[i] = NW[i-1];
}
}
}
}
Plot(NW, “”, IIf(Trend == 1, 6, 4), 4);
//—————trading ————-
Buy=Cover=Cross(j,nw);
Sell=Short=Cross(nw,j);
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
Short=ExRem(Short,Cover);
Cover=ExRem(Cover,Short);
PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorSkyblue, 0,Low,-15);
PlotShapes(IIf(Sell, shapeHollowDownArrow, shapeNone),colorLightYellow, 0,High,-15);
PlotShapes(IIf(Cover, shapeHollowCircle, shapeNone),colorTan, 0,Close,0);
PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorGold, 0,High,-25);
//———–end————–
Long=Flip(Buy,Sell OR Cover);
Shrt=Flip(Sell,Buy OR Cover);
NOTrade= NOT (Long OR shrt);
Edc=(
WriteIf (Buy AND Ref(shrt,-1), ” GO LONG / Reverse Signal at “+C+” “,””)+
WriteIf (Buy AND Ref(NOTrade,-1), ” GO LONG at “+C+” “,””)+
WriteIf (Sell AND Ref(NOTrade,-1), ” GO Short at “+C+” “,””)+
WriteIf (Sell AND Ref(Long,-1), ” EXIT LONG / Reverse Signal at “+C+” “,””));
_SECTION_END();
grid_day = IIf(Day()!=Ref(Day(),-1),1,0);
Plot(grid_day,””,colorDarkGrey,styleHistogram|styleDashed|styleNoLabel|styleOwnScale);
///————————————————————————————————–
UpCandle = ParamColor(“Up Color”, colorBrightGreen );
DownCandle = ParamColor(“Down Color”, colorDarkRed );
Consolidation = ParamColor(“Consolidation”, colorBlack );
BG2a=HHV(LLV(L,4)+ATR(4),8);
BR2a=LLV(HHV(H,4)-ATR(4),8);
Candlecolor = IIf(Close>BG2a ,UpCandle,IIf(Close < BR2a,DownCandle,Consolidation)); SetBarFillColor( IIf(O Interval() ); BG2=HHV(LLV(L,4)+ATR(4),8); BR2=LLV(HHV(H,4)-ATR(4),8); C1=C; TimeFrameRestore(); M5 = TimeFrameExpand(BG2,2Interval() ); MM5=TimeFrameExpand( BR2,2Interval() ); cM5=TimeFrameExpand( C1, 2Interval() ); TimeFrameSet( 4Interval() ); BG2=HHV(LLV(L,4)+ATR(4),8); BR2=LLV(HHV(H,4)-ATR(4),8); C1=C; TimeFrameRestore(); M15 = TimeFrameExpand(BG2,4Interval() ); MM15=TimeFrameExpand(BR2,4Interval() ); cM15=TimeFrameExpand( C1,4Interval() ); TimeFrameSet( 6Interval() ); BG2=HHV(LLV(L,4)+ATR(4),8); BR2=LLV(HHV(H,4)-ATR(4),8); C1=C; TimeFrameRestore(); M30 = TimeFrameExpand(BG2,6Interval() ); MM30=TimeFrameExpand(BR2,6Interval() ); cM30=TimeFrameExpand( C1,6Interval() ); TimeFrameSet( 8Interval() ); BG2=HHV(LLV(L,4)+ATR(4),8); BR2=LLV(HHV(H,4)-ATR(4),8); C1=C; TimeFrameRestore(); H1 = TimeFrameExpand(BG2 ,8Interval() ); HH1=TimeFrameExpand( BR2,8Interval() ); Ch1=TimeFrameExpand( C1,8Interval() ); TimeFrameSet( 16Interval() ); BG2=HHV(LLV(L,4)+ATR(4),8); BR2=LLV(HHV(H,4)-ATR(4),8); C1=C; TimeFrameRestore(); H4 = TimeFrameExpand( BG2,16Interval() ); HH4=TimeFrameExpand( BR2,16Interval() ); cH4 = TimeFrameExpand( C1,16Interval() ); Com=(“\n “+Name()+ ” – Trend in “)+”\n “+ EncodeColor(colorLightGrey)+(“”+Interval(2)+”:”)+ WriteIf(Close>BG2a,EncodeColor(colorLime)+” UP”,WriteIf(Close”))+ EncodeColor(colorLightGrey)+(” “+2Interval()/60+”m:”)+ WriteIf(Cm5>M5,EncodeColor(colorLime)+” UP”,WriteIf(Cm5″))+ EncodeColor(colorLightGrey)+(” “+4Interval()/60+”m:”)+
WriteIf(Cm15>M15,EncodeColor(colorLime)+” UP”,WriteIf(Cm15″))+ EncodeColor(colorLightGrey)+(” “+6Interval()/60+”m:”)+ WriteIf(Cm30>M30,EncodeColor(colorLime)+” UP”,WriteIf(Cm30″))+ EncodeColor(colorLightGrey)+(” “+8Interval()/60+”m:”)+
WriteIf(CH1>H1,EncodeColor(colorLime)+” UP”,WriteIf(CH1″))+ EncodeColor(colorLightGrey)+(” “+16Interval()/60+”m: “)+ WriteIf(Ch4>H4,EncodeColor(colorLime)+” UP”,WriteIf(Ch4″ )); //————————————————————————————— Vr=ParamList(“Index”,List = “^NSEI,^NSEBANK,NIFTY_F1,RELIANCE.NS,SBIN.NS,EURUSD,XAUUSD,GOLD”,0); SetForeign(Vr); HaC =(O+H+L+C)/4; HaO = AMA( Ref( HaC, -1 ), 0.5 ); HaH = Max( H, Max( HaC, HaO) ); HaL = Min( L, Min( HaC, HaO) ); HBG=HHV(LLV(HaL,4)+ATR(4),8); HBR=LLV(HHV(HaH ,4)-ATR(4),8); co = IIf(Hac>HBG ,colorAqua,IIf(Hac < HBR,colorCustom12,colorGrey50)); Plot(4, “”, Co,styleArea+styleOwnScale | styleNoLabel, -1, 100); //PlotOHLC(HaO,HaH,HaL,HaC, “”, Co,styleCandle|styleOwnScale ); //===================================================================================== TimeFrameSet( 2Interval() );
BG2H=HHV(LLV(HaL,4)+ATR(4),8);
BR2H=LLV(HHV(HaH,4)-ATR(4),8);
C1H=HaC;
TimeFrameRestore();
M5H = TimeFrameExpand(BG2H,2Interval() ); MM5H=TimeFrameExpand( BR2H,2Interval() );
cM5H=TimeFrameExpand( C1H, 2Interval() ); TimeFrameSet( 4Interval() );
BG2H=HHV(LLV(HaL,4)+ATR(4),8);
BR2H=LLV(HHV(HaH,4)-ATR(4),8);
C1H=HaC;
TimeFrameRestore();
M15H = TimeFrameExpand(BG2H,4Interval() ); MM15H=TimeFrameExpand(BR2H,4Interval() );
cM15H=TimeFrameExpand( C1H,4Interval() ); TimeFrameSet( 6Interval() );
BG2H=HHV(LLV(HaL,4)+ATR(4),8);
BR2H=LLV(HHV(HaH,4)-ATR(4),8);
C1H=HaC;
TimeFrameRestore();
M30H = TimeFrameExpand(BG2H,6Interval() ); MM30H=TimeFrameExpand(BR2H,6Interval() );
cM30H=TimeFrameExpand( C1H,6Interval() ); TimeFrameSet( 8Interval() );
BG2H=HHV(LLV(HaL,4)+ATR(4),8);
BR2H=LLV(HHV(HaH,4)-ATR(4),8);
C1H=HaC;
TimeFrameRestore();
H1H = TimeFrameExpand(BG2H ,8Interval() ); HH1H=TimeFrameExpand( BR2H,8Interval() );
Ch1H=TimeFrameExpand( C1H,8Interval() ); TimeFrameSet( 16Interval() );
BG2H=HHV(LLV(HaL,4)+ATR(4),8);
BR2H=LLV(HHV(HaH,4)-ATR(4),8);
C1H=HaC;
TimeFrameRestore();
H4H = TimeFrameExpand( BG2H,16Interval() ); HH4H=TimeFrameExpand( BR2H,16Interval() );
cH4H = TimeFrameExpand( C1H,16Interval() ); RestorePriceArrays(); Comm2=(“\n “+VR+ ” – Phase in “)+”\n “+ EncodeColor(colorLightYellow)+(“”+Interval(2)+”:”)+ WriteIf(Hac>HBG,EncodeColor(colorLime)+” UP”,WriteIf(Hac < HBR,EncodeColor(colorRed)+” DN”,EncodeColor(colorGrey50)+” “))+ EncodeColor(colorLightYellow)+(” “+2Interval()/60+”m:”)+
WriteIf(cM5H>M5H,EncodeColor(colorLime)+” UP”,WriteIf(cM5H”))+
EncodeColor(colorLightYellow)+(” “+4Interval()/60+”m:”)+ WriteIf(cM15H>M15H,EncodeColor(colorLime)+” UP”,WriteIf(cM15H”))+ EncodeColor(colorLightYellow)+(” “+6Interval()/60+”m:”)+
WriteIf(cM30H>M30H,EncodeColor(colorLime)+” UP”,WriteIf(cM30H”))+
EncodeColor(colorLightYellow)+(” “+8Interval()/60+”m:”)+ WriteIf(Ch1H>H1H,EncodeColor(colorLime)+” UP”,WriteIf(Ch1H”))+ EncodeColor(colorLightYellow)+(” “+16Interval()/60+”m: “)+
WriteIf(cH4H>H4H,EncodeColor(colorLime)+” UP”,WriteIf(cH4H” ));
//============
BuyPrice=ValueWhen(Buy,C);
SellPrice=ValueWhen(Sell,C);
ShortPrice=ValueWhen(Short,C);
CoverPrice=ValueWhen(Cover,C);
//=====Title================================================================================================
_SECTION_BEGIN(“Title”);
if( Status(“action”) == actionIndicator )
(
Title = EncodeColor(colorWhite)+ “NMA I.T v-3(“+k+” – “+per+”)” + ” – ” + Name() + “-” + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorWhite) +
” – ” + Date() +” – “+ strWeekday +” – “+”\n” +EncodeColor(colorYellow) +”Op-“+O+” “+”Hi-“+H+” “+”Lo-“+L+” “+
“Cl-“+C+” “+ “Vol= “+ WriteVal(V)+
EncodeColor(colorTan)+ Com+
EncodeColor(colorYellow)+ Comm2);
_SECTION_END();
_SECTION_BEGIN(“Background text”);
C11=ParamColor(“up panel”,colorDarkOliveGreen );
C12=ParamColor(“dn panel”,colorDarkGrey );
C13=Param(“fonts”,20,10,30,1 );
C14=Param(“left-right”,2.1,1.0,5.0,0.1 );
C15=Param(“up-down”,12,1,20,1 );
Miny = Status(“axisminy”);
Maxy = Status(“axismaxy”);
lvb = Status(“lastvisiblebar”);
fvb = Status(“firstvisiblebar”);
pxwidth = Status(“pxwidth”);
pxheight = Status(“pxheight”);
GfxSetBkMode( 0 );
GfxSetOverlayMode(1);
GfxGradientRect(0,0,pxwidth, pxheight, C11, C12 );
GfxSelectFont(“Tahoma”, Status(“pxheight”)/C13 );
GfxSetTextAlign( 6 );
GfxTextOut( Name(), Status(“pxwidth”)/C14, Status(“pxheight”)/C15 );
GfxSelectFont(“Tahoma”, Status(“pxheight”)/C130.5 ); GfxTextOut( “NMA”, Status(“pxwidth”)/C14, Status(“pxheight”)/C152.5 );
GfxSelectFont(“Tahoma”, Status(“pxheight”)/C130.5 ); GfxTextOut( ” Rajesh Singh”, Status(“pxwidth”)/C14, Status(“pxheight”)/C154 );
GfxSelectFont(“MS Sans Serif”, 10, 500, False, False, 0);
GfxTextOut(“”+Vr+”—cas67″, Status(“pxwidth”)/1.08, Status(“pxheight”)/C1510.8 ); GfxSelectFont(“Ariel”,9, 700, False, False, 0); GfxSetTextColor(colorYellow); GfxTextOut(“”+edc+””, Status(“pxwidth”)/1.15, Status(“pxheight”)/C150.3 );
//axisarea = 56; // may need adjustment if you are using non-default font for axis
// Plots a 50 period Donchian channel
pds=50;
DonchianUpper =HHV(Ref(H,-1),pds);
DonchianLower = LLV(Ref(L,-1),pds);
DonchianMiddle = (DonchianUpper+DonchianLower)/2;
Plot(DonchianUpper,”DU”,colorBlue,styleLine);
Plot(DonchianMiddle,”DM”,colorYellow,styleLine);
Plot(DonchianLower,”DL”,colorRed,styleLine);
_SECTION_END();

Trading Data Snapshot

Always verify current market conditions before executing any trade. Past performance does not guarantee future results.

A
admin
Trading analyst and market commentator with expertise in technical analysis, price action, and risk management. Dedicated to helping traders make informed decisions.

Leave a Reply