Stock Portfolio Organizer
The ultimate porfolio management solution.
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
Heiken Ashi Histogram for Amibroker (AFL)
This simple code is for easily visualize the changes of the body of the Heiken Ashi candle.
I also included the Heiken Ashi afl which I use for the coding. The Heiken Ashi and the histogram are 2 separate afl codes.
Screenshots
Similar Indicators / Formulas
Indicator / Formula
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | //Heiken Ashi candlestick formula// SetChartBkGradientFill ( ParamColor ( "BgTop" , colorBlack ), ParamColor ( "BgBottom" , colorBlack ), ParamColor ( "Titleblock" , colorBlack )); SetChartOptions (0, chartShowArrows | chartShowDates ); GraphXSpace =5; p= Param ( "Period" ,6,2,30,1); Om= MA ( O ,p); hm= MA ( H ,p); lm= MA ( L ,p); Cm= MA ( C ,p); HACLOSE=(Om+Hm+Lm+Cm)/4; HaOpen = AMA ( Ref ( HaClose, -1 ), 0.5 ); HaHigh = Max ( Hm, Max ( HaClose, HaOpen ) ); HaLow = Min ( Lm, Min ( HaClose, HaOpen ) ); PlotOHLC ( HaOpen, HaHigh, HaLow, HaClose, "" + Name (), colorWhite , styleCandle | styleNoLabel ); _SECTION_END (); _SECTION_BEGIN ( "Heiken Ashi Smoothed" ); SetChartBkGradientFill ( ParamColor ( "BgTop" , colorBlack ), ParamColor ( "BgBottom" , colorBlack ), ParamColor ( "Titleblock" , colorBlack )); SetChartOptions (0, chartShowArrows | chartShowDates ); GraphXSpace =5; p= Param ( "Period" ,6,2,30,1); Om= MA ( O ,p); hm= MA ( H ,p); lm= MA ( L ,p); Cm= MA ( C ,p); HACLOSE=(Om+Hm+Lm+Cm)/4; HaOpen = AMA ( Ref ( HaClose, -1 ), 0.5 ); HaHigh = Max ( Hm, Max ( HaClose, HaOpen ) ); HaLow = Min ( Lm, Min ( HaClose, HaOpen ) ); PlotOHLC ( HaOpen, HaHigh, HaLow, HaClose, "" + Name (), colorWhite , styleCandle | styleNoLabel ); _SECTION_END (); Line= ParamToggle ( "Show Line chart also" , "Hide|Show" ,0); if (Line==1) { Plot ( C , "Close" , colorWhite , styleLine ); } a= LinearReg (HaClose, 5 ) ; b= LinearReg ( HaClose, 5 ) ; Plot ( IIf (HaHigh>HaOpen,a,b), _DEFAULT_NAME (), colorRed , ParamStyle ( "Style" ) ); Plot ( LinearReg ( HaOpen, 5 ), _DEFAULT_NAME (), colorWhite , ParamStyle ( "Style" ) ); _SECTION_BEGIN ( "kgs 12 26 ma buy sell" ); a= MA ( C ,3) ; b= MA ( C ,15) ; Buy = Cross ( a,b ); Sell = Cross ( b,a ); //Short = Sell; //Cover = Buy; //AlertIf( Buy, "", "MA cross BUY", 1,1+2 ); //AlertIf( Sell, "", "MA cross SELL", 2 ,1+2); PlotShapes ( shapeUpTriangle * Buy , colorWhite , 0, L , -20 ); PlotShapes ( shapeDownTriangle * Sell , colorRed , 0, H , -20 ); _SECTION_END (); _SECTION_BEGIN ( "Magnified Market Price" ); //by Vidyasagar, vkunisetty@yahoo.com// FS= Param ( "Font Size" ,30,30,100,1); GfxSelectFont ( "Arial" , FS, 900, italic = False , underline = False , True ); GfxSetBkMode ( colorWhite ); GfxSetTextColor ( ParamColor ( "Color" , colorYellow ) ); //Hor=Param("Horizontal Position",800,800,800,800); Hor= Param ( "Horizontal Position" ,20,20,500,20); Ver= Param ( "Vertical Position" ,50,50,250,50); GfxTextOut ( "" + C ,Hor , Ver ); YC= TimeFrameGetPrice ( "C" , inDaily ,-1); DD= Prec ( C -YC,2); xx= Prec ((DD/YC)*100,2); GfxSelectFont ( "Arial" , 12, 700, italic = False , underline = False , True ); GfxSetBkMode ( colorWhite ); GfxSetTextColor ( ParamColor ( "Color" , colorYellow ) ); GfxTextOut ( "" +DD+ " (" +xx+ "%)" , Hor+5, Ver+45 ); _SECTION_END (); _SECTION_BEGIN ( "Price Line" ); PriceLevel = ParamField ( "PriceField" , field = 3 ); Daysback = Param ( "Bars Back" ,100,10,500,1); FirstBar = BarCount - DaysBack; YY = IIf ( BarIndex () >= Firstbar, EndValue (PriceLevel), Null ); side = Param ( "side" ,1,0,1000,1); dist = 0; for ( i = 0; i < BarCount ; i++ ) { if (i+side== BarCount ) PlotText ( "\n " + PriceLevel[ i ], i, YY[ i ]-dist[i], colorLightBlue ); } _SECTION_END (); _SECTION_BEGIN ( "Price1" ); SetChartOptions (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 (); //HA Histogram// _SECTION_BEGIN ( "Heiken Ashi Smoothed" ); SetChartBkGradientFill ( ParamColor ( "BgTop" , colorBlack ), ParamColor ( "BgBottom" , colorBlack ), ParamColor ( "Titleblock" , colorBlack )); SetChartOptions (0, chartShowArrows | chartShowDates ); GraphXSpace =5; p= Param ( "Period" ,6,2,30,1); Om= MA ( O ,p); hm= MA ( H ,p); lm= MA ( L ,p); Cm= MA ( C ,p); HACLOSE=(Om+Hm+Lm+Cm)/4; HaOpen = AMA ( Ref ( HaClose, -1 ), 0.5 ); HaHigh = Max ( Hm, Max ( HaClose, HaOpen ) ); HaLow = Min ( Lm, Min ( HaClose, HaOpen ) ); _SECTION_END (); Histo1 = HACLOSE-HaOpen; HistoEMA = EMA (Histo1,3); Plot ( Histo1, "HA Histogram" , ParamColor ( "Histogram color" , colorGreen ), styleNoTitle | ParamStyle ( "Histogram style" , styleHistogram | styleNoLabel , maskHistogram ) ); Plot (HistoEMA, "EMA" , colorRed , styleLine , 0,0,0,0); |
3 comments
Leave Comment
Please login here to leave a comment.
Back
Thanks a lot, one question, does it look into future?
Because Amibroker code check says it does but ref functions are used with -1 parameter which references last bar.
from what i understand on Heiken Ashi it cannot, since the candles are based on the previous one. plus the formula are just bits and piece of other formulas (MACD and Heiken) which i modified. but I’m no expert.
if you could modify it to look into the future, feel free.
great sharing thank you bro////