Bạn có thể copy mã này hoặc tải chỉ báo về nếu bạn không chuyên môn về mã code , nút download ở phía dưới cuối khung chứa code này:
Link tải mã nguồn về sử dụng:// See more : chungsiviet.blogspot.comSetChartOptions(0,chartShowArrows|chartShowDates);_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));//Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );_SECTION_END();_SECTION_BEGIN("Title");IsGann = ParamToggle("Show GANN?","No|Yes",1);isfulgann = ParamToggle("8 levels of GANN?","No|Yes",0);isgannBS =ParamToggle("Show GANN B/S ?","No|Yes",1);isVol = ParamToggle("Show Volume ?","No|Yes",1);V=IIf(V<=0,1,V);DayStart = Day() != Ref(Day(), -1);Plot(DayStart,"",colorGrey40,styleLine+styleHistogram+styleThick+styleOwnScale);Plot( C, "Price", IIf( C > O, colorGreen, colorRed ), styleCandle ) ;_SECTION_END();_SECTION_BEGIN("GANN Intraday Targets");Plot (MA20=MA(C,20),"MA20",colorBlue, styleThick);Plot (MA50=MA(C,50),"MA55",colorred, styleThick);Plot(HMA26=HMA(C,26), "HMA26",colorcustom12, styleThick | styleDots);RefH = ValueWhen(TimeNum() == 091500 OR DayStart , H,1);RefL = ValueWhen(TimeNum() == 091500 OR DayStart , L,1);color = IIf (HMA26> MA20, IIf( c > HMA26 AND ( C> MA50) , colorPaleGreen, colorPaleTurquoise) ,IIf( MA20< HMA26 AND C < HMA26 , colorRose,colorLightOrange)) ;plotOHLC ( HMA26, MA20, HMA26, MA20, "", Color , styleCloud | styleNoLabel , Null, Null, xshift=0,zorder=-6 );plotOHLC ( MA20, MA50, MA20, MA50, "", Color , styleCloud | styleNoLabel , Null, Null, xshift=0,zorder=-7 );BaseNum = (int(sqrt((RefL+RefH)/2))-1);sBelow = BaseNum + BaseNum;sBelowI = 1;//Calculate levels for GANN Square of Ninefor( i = 1; i < 50; i++ ){VarSet( "GANN"+i, (BaseNum * BaseNum) );BaseNum = BaseNum + 0.125;sBelowI = IIf( VarGet("GANN"+i)< RefH, i, sBelowI);bAboveI = sBelowI + 1;sBelow = round(VarGet("GANN"+sBelowI));bAbove = round(VarGet("GANN"+bAboveI));}// Resistance Levels (or Targets for Buy trade)BTgt1 = round(0.9995 * VarGet("Gann"+(bAboveI+1)));BTgt2 = round(0.9995 * VarGet("Gann"+(bAboveI+2)));BTgt3 = round(0.9995 * VarGet("Gann"+(bAboveI+3)));BTgt4 = round(0.9995 * VarGet("Gann"+(baboveI+4)));BTgt5 = round(0.9995 * VarGet("Gann"+(bAboveI+5)));BTgt6 = round(0.9995 * VarGet("Gann"+(baboveI+6)));BTgt7 = round(0.9995 * VarGet("Gann"+(baboveI+7)));BTgt8 = round(0.9995 * VarGet("Gann"+(baboveI+8)));// Support Levels (or Targets for Short trade)STgt1 = round(1.0005 * VarGet("Gann"+(sBelowI-1)));STgt2 = round(1.0005 * VarGet("Gann"+(sBelowI-2)));STgt3 = round(1.0005 * VarGet("Gann"+(sBelowI-3)));STgt4 = round(1.0005 * VarGet("Gann"+(sbelowI-4)));STgt5 = round(1.0005 * VarGet("Gann"+(sBelowI-5)));STgt6 = round(1.0005 * VarGet("Gann"+(sBelowI-6)));STgt7 = round(1.0005 * VarGet("Gann"+(sBelowI-7)));STgt8 = round(1.0005 * VarGet("Gann"+(sBelowI-8)));Sstop= round(babove-((babove-sbelow)/3)) ;Bstop= round(sbelow+((babove-sbelow)/3)) ;BuySignal = TimeNum()>091500 AND (Cross(H,babove)OR Cross(C,babove) OR (H>babove AND L<=babove)) AND C<babove AND MACD() > 0 AND C >MA20;ShortSignal = TimeNum()>091500 AND (Cross(Sbelow,L) OR Cross(Sbelow,C) OR (H>=sbelow AND L<sbelow))AND C>sbelow ;/*BuySignal = ExRem(BuySignal,ShortSignal);ShortSignal = ExRem(ShortSignal,BuySignal);ShortProfitStop= (STgt1 AND L<=Stgt1 AND C>Stgt1) OR (STgt2 AND L<=Stgt2 AND C>Stgt2) OR (STgt3 AND L<=Stgt3 AND C>Stgt3) OR (STgt4 AND L<=Stgt4 AND C>Stgt4) OR (STgt5 AND L<=Stgt5 AND C>Stgt5) OR (STgt6 AND L<=Stgt6 AND C>Stgt6);BuyProfitStop= (Btgt1 AND H>=btgt1 AND C<Btgt1) OR (Btgt2 AND H>=Btgt2 AND C<btgt2) OR (Btgt3 AND H>=Btgt3 AND C<btgt3) OR (Btgt4 AND H>=Btgt4 AND C<btgt4) OR (Btgt5 AND H>=Btgt5 AND C<btgt5) OR (Btgt6 AND H>=Btgt6 AND C<btgt6);SetOption("MaxOpenPositions", 1 );SetPositionSize(100,spsShares);Buy = BuySignal ;Sell = C<Bstop OR BuyProfitStop;Short = ShortSignal;Cover = C>SStop OR ShortProfitStop;Buy = ExRem(Buy,Sell);Sell = ExRem(Sell,Buy);Short = ExRem(Short,Cover);Cover = ExRem(Cover,Short);*/if(isgannBS==1){Plot(bAbove,"Buy",colorSeaGreen,styleDots,0,0,0,0,2);Plot(sBelow,"Sell",colorCustom12,styleDots,0,0,0,0,2);}if(isGANN ==1){Plot(Btgt1,"B1",colorGreen,StyleLine);Plot(Btgt2,"B2",colorGreen,StyleLine);Plot(Btgt3,"B3",colorGreen,StyleLine);if(isfulgann ==1){Plot(Btgt4,"B4",colorGreen,StyleLine);Plot(Btgt5,"B5",colorGreen,StyleLine);Plot(Btgt6,"B6",colorGreen,StyleLine);Plot(Btgt7,"B7",colorGreen,StyleLine);Plot(Btgt8,"B8",colorGreen,StyleLine);}Plot(Stgt1,"S1",colorred,StyleLine);Plot(Stgt2,"S2",colorred,StyleLine);Plot(Stgt3,"S3",colorred,StyleLine);if(isfulgann ==1){Plot(Stgt4 ,"S4",colorred,StyleLine);Plot(Stgt5,"S5",colorred,StyleLine);Plot(Stgt6 ,"S6",colorred,StyleLine);Plot(Stgt7,"S7",colorred,StyleLine);Plot(Stgt8 ,"S8",colorred,StyleLine);}}Sstop= round(babove-((babove-sbelow)/3)) ;Bstop= round(sbelow+((babove-sbelow)/3)) ;GfxSetBkMode( 1 );GfxSelectFont("Courier New", 12, 700 );GfxSetTextColor( colordarkoliveGreen );GfxSelectPen( colorBlack, 1, 0) ;GfxSelectSolidBrush( colorWhite );abv=WriteIf (TimeNum()>091500 , "Buy Above"+" "+ NumToStr(bAbove,1.2,False) + " SL : " + NumToStr(sBelow,1.2,False), "Waiting for Signal" );blow= WriteIf(TimeNum()>091500, "Short below"+" "+NumToStr(sBelow,1.2,False) + " SL : " + NumToStr(bAbove,1.2,False),"Waiting for Signal");BTgtext = "Buy Targets : " + NumToStr(btgt1,1.2,False) + " - " + NumToStr(btgt2,1.2,False) + " - " + NumToStr(btgt3,1.2,False)+ " - " + NumToStr(btgt4,1.2,False)+ " - " + NumToStr(btgt5,1.2,False)+ " - " + NumToStr(btgt6,1.2,False)+ " - " + NumToStr(btgt7,1.2,False)+ " - " + NumToStr(btgt8,1.2,False);STgtext ="Short Targets : " + NumToStr(stgt1,1.2,False) + " - " + NumToStr(stgt2,1.2) + " - " + NumToStr(stgt3,1.2,False) + " - " + NumToStr(stgt4,1.2,False) +" - "+ NumToStr(stgt5,1.2,False) + " - " + NumToStr(stgt6,1.2,False)+" - "+ NumToStr(stgt7,1.2,False) + " - " + NumToStr(stgt8,1.2,False);GfxTextOut("Current time : " + TimeNum(),25, 25);;GfxTextOut("Buy Above : " + WriteIf(TimeNum()>091500, NumToStr(bAbove,1.2,False) + " SL : " + NumToStr(sBelow,1.2,False),"Waiting for Signal"), 25, 45);GfxTextOut(WriteIf(TimeNum()>091500,BTgtext,""), 25, 60);GfxSetBkMode( 1 );GfxSelectFont("courier new", 12, 700 );GfxSetTextColor( colordarkRed );GfxSelectPen( colorBlack, 1, 0) ;GfxSelectSolidBrush( colorWhite );GfxTextOut("Short Below : " + WriteIf(TimeNum()>091500, NumToStr(sBelow,1.2,False) + " SL : " + NumToStr(bAbove,1.2,False),"Waiting for Signal"), 25, 85);GfxTextOut(WriteIf(TimeNum()>091500,STgtext,""), 25, 100);AddColumn(Close,"Close",1.4);AddColumn(Buysignal,"buysignal",1.2);_SECTION_BEGIN("Volume");PaneHght = Param( "Volume Pane Height (in %)", 20, 1, 100, 1 );PaneHghtMin = LowestVisibleValue( V);PaneHghtMax = HighestVisibleValue(V) * 100 / PaneHght;gxs=Param("GRAPH spaceing",5,5,50,5);GraphXSpace = gxs;if (isVol == 1){xcol1= IIf( C > Ref( C, -1 ) AND V > Ref( V, -1 ), colorGreen, IIf( C < Ref( C, -1 ) AND V > Ref( V, -1 ),colorOrange, colorBlue) );xcol2= IIf( C > Ref( C, -1 ) AND V > Ref( V, -1 ), colorbrightGreen, IIf( C < Ref( C, -1 ) AND V > Ref( V, -1 ),colorpink, colorSkyblue) );hz=EMA(Volume,5);lz=EMA(Volume,9);Plot( hz, "Vol", xcol1, Styleline|styleOwnScale , PaneHghtMin, PaneHghtMax, 0, 0, 2 );Plot( Volume, "", xcol1, styleHistogram | styleOwnScale | styleThick | styleNoTitle , PaneHghtMin, PaneHghtMax, 0, 0, 2 );Plot( Volume, "", xcol2, styleArea | styleOwnScale | styleThick | styleNoTitle , PaneHghtMin, PaneHghtMax, 0, 0, 2 );}_SECTION_END();
Download here
Cách thêm sau khi tải về: Xem hướng dẫn tại phần 2: Đối với các chỉ báo không có sẵn trong Amibroker
- Cách cài Amibroker cho chứng sĩ Việt
- Lấy dữ liệu miễn phí cho Amibroker
- Có kết quả lọc cổ phiếu ở đây
Không có nhận xét nào:
Đăng nhận xét