Stock Portfolio Organizer
The ultimate porfolio management solution.
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
GANN Levels & Targets in the Light of Cross overs of MA20,MA50 & HMA26 for Amibroker (AFL)
GANN Levels & Targets in the Light of Cross overs of MA20,MA50 & HMA26
By Abhimanyu Y. Altekar 21/05/2019 abhimanyu.altekar@gmail.com
In the memory of my deceased Mother
Modified GANN Square of Nine with separate Targets for each day.
1) GANN Targets in the Light of Cross Overs of HMA26, MA20,MA50 The Logic is to see cross over of Averages and Cloud Colour around Some GANN Level
to take Intraday Position Each Day has Different GANN Levels 3 Basic and + 5 Extended. Consider GANN levels at Targets, support and resistance in the light of
the Cross Over of Averages
.
2) When MA20 AND MA50 are close to each other there is no point to trade
.
3) When MA20 MA50 are not having any sharp cross over formation THEN just follow Buy Above or
Sell Below advise Gi9ven by GANN, it may give some small opportunity to trade in flat market as per levels.
.
4) GANN levels and Averages are brought together to act complimentary and supplementary to each other.
Levels will be mostly different on each day.
.
5)Whenever there is Gap on opening either Gap UP or Gap DOWN Just check that , what type of cross over has taken
place last day and find possibility of trend continuation for next day
.
6)Mostly all GANN levels will change every day but trend cloud will continue ahead with its colour if Trend is same and continue to extend for next day
.
7)All Cosmetic applied to analyze trend and its length. But simply MA50 & MA20 Play Significant Role with Trigger of HMA26
as possible starting point of Trend Change. Normally in any bullish trend extended for 2 days or more, has price above MA50 and versa-versa in bearish trend
Screenshots
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 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | // GANN Levels & Targets in the Light of Cross overs of MA20,MA50 & HMA26 // By Abhimanyu Y. Altekar 21/05/2019 abhimanyu.altekar@gmail.com // In the memory of my deceased Mother // Modified GANN Square of Nine with separate Targets for each day. /* 1) GANN Targets in the Light of Cross Overs of HMA26, MA20,MA50 The Logic is to see cross over of Averages and Cloud Colour around Some GANN Level to take Intraday Position Each Day has Different GANN Levels 3 Basic and + 5 Extended. Consider GANN levels at Targets, support and resistance in the light of the Cross Over of Averages . 2) When MA20 AND MA50 are close to each other there is no point to trade . 3) When MA20 MA50 are not having any sharp cross over formation THEN just follow Buy Above or Sell Below advise Gi9ven by GANN, it may give some small opportunity to trade in flat market as per levels. . 4) GANN levels and Averages are brought together to act complimentary and supplementary to each other. Levels will be mostly different on each day. . 5)Whenever there is Gap on opening either Gap UP or Gap DOWN Just check that , what type of cross over has taken place last day and find possibility of trend continuation for next day . 6)Mostly all GANN levels will change every day but trend cloud will continue ahead with its colour if Trend is same and continue to extend for next day . 7)All Cosmetic applied to analyze trend and its length. But simply MA50 & MA20 Play Significant Role with Trigger of HMA26 as possible starting point of Trend Change. Normally in any bullish trend extended for 2 days or more, has price above MA50 and versa-versa in bearish trend */ 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 (); _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 Nine for ( 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 (); |
3 comments
Leave Comment
Please login here to leave a comment.
Back
I don’t add in amibroker 6.3
@manhbu
It should work for Amibroker version >= 6.0
Hi… abhimanyu.altekar@gmail.com
I am using this afl last one year…. in NSE index and stocks perfectly working…. i can make decision to take upside or downside using this bro… thanks for this….
P. Pradeep.