Stock Portfolio Organizer
The ultimate porfolio management solution.
Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
WiseTrader Toolbox
#1 Selling Amibroker Plugin featuring:
Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Fibs tool using range markers for Amibroker (AFL)
Copy & Paste Friendly
Back
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 | /*////////////////// // Amibroker AFL Code by E.M.Pottasch, Jan 2014 // Using Range Markers to display Fibonacci Levels // 1) Set start range Marker using F12 => go with mouse/cursor to starting peak/trough, click on chart, then press F12 // 2) Set end range market using SHIFT-F12 => go with mouse/cursor to ending peak/trough, click on chart, then press SHIFT-F12 // 3) Clear, remove range markers and remove Fibs using CTRL-F12 */ ////////////////// //////////////////// BEGIN PARAMETER DEFINITIONS ///////////////////// nlev= Param ( "Number of Fib Levels to display" ,10,0,12,1); tog1= ParamToggle ( "Show Primary Fib Levels" , "Off|On" ,1); tog2= ParamToggle ( "Show Secondary Fib Levels" , "Off|On" ,1); //////////////////// END PARAMETER DEFINITIONS ///////////////////// //////////////////// BEGIN COLOR DEFINITIONS ///////////////////// fibLevelUpRetraceColor= ColorRGB (200,0,0); fibLevelDnRetraceColor= ColorRGB (0,200,0); primaryValueLabelColor= ColorRGB (160,160,160); secondaryValueLabelColor= ColorRGB (80,80,80); chartBackgroundColor= ColorRGB (0,0,0); //////////////////// END COLOR DEFINITIONS ///////////////////// //////////////////// BEGIN CHART DISPLAY ///////////////////// SetChartOptions (0, chartShowDates ); SetChartBkColor (chartBackgroundColor); SetBarFillColor ( IIf ( C > O , ColorRGB (0,75,0), IIf ( C <= O , ColorRGB (75,0,0), colorLightGrey ))); Plot ( C , "\nPrice" , IIf ( C > O , ColorRGB (0,255,0), IIf ( C <= O , ColorRGB (255,0,0), colorLightGrey )),64, Null , Null ,0,0,0); //////////////////// END CHART DISPLAY ///////////////////// //////////////////// BEGIN FIBONACCI LEVEL DISPLAY ///////////////////// bi= BarIndex ();bvi= BeginValue (bi);evi= EndValue (bi); rng= Flip (bvi==bi,evi==bi); //"Primary numbers: 0.618, 0.786, 1.27 AND 1.618" =>levType=1 //"Secondary numbers: 0.382, 0.50, 1.00, 2.00, 2.24, 2.618 AND 3.14" =>levType=2 fibLevel=0;levType=0; fibLevel[0]=0;levType[0]=3; fibLevel[1]=0.382;levType[1]=2; fibLevel[2]=0.5;levType[2]=2; fibLevel[3]=0.618;levType[3]=1; fibLevel[4]=0.786;levType[4]=1; fibLevel[5]=1;levType[5]=2; fibLevel[6]=1.272;levType[6]=1; fibLevel[7]=1.618;levType[7]=1; fibLevel[8]=2;levType[8]=2; fibLevel[9]=2.236;levType[9]=2; fibLevel[10]=2.618;levType[10]=2; fibLevel[11]=3.14;levType[11]=2; bvl= BeginValue ( L );bvh= BeginValue ( H ); evl= EndValue ( L );evh= EndValue ( H );rr= EndValue (bi); idx= LastValue (rr); rridx= IIf (bi>=idx,1,0); if (bvl>evl) { sit=1; //peak first rr= ValueWhen (bi== BeginValue (bi), H ); ss= ValueWhen (bi== EndValue (bi), L ); rr1= IIf (ss,rr, Null );ss1=ss; } else { sit=2; //trough first ss= ValueWhen (bi== BeginValue (bi), L ); rr= ValueWhen (bi== EndValue (bi), H ); ss1= IIf (rr,ss, Null );rr1=rr; } if (bvi!=0 AND evi!=( BarCount -1)) { rr2= IIf (rng, LastValue (rr), Null ); ss2= IIf (rng, LastValue (ss), Null ); Plot (rr2, "" , colorRed ,1); Plot (ss2, "" , colorGreen ,1); if (sit==1) Plot ( LineArray (bvi, H [bvi],evi, L [evi],0), "" , colorBlue , styleDashed ); if (sit==2) Plot ( LineArray (bvi, L [bvi],evi, H [evi],0), "" , colorBlue , styleDashed ); delta= abs (rr-ss); fvb= Status ( "firstvisiblebar" ); for (i=0;i<nlev;i++) { if (sit==1) { if (tog1 AND levType[i]==1) //primary level { ll=ss1+delta*fibLevel[i]; Plot ( IIf (ss1,ll, Null ), "" ,fibLevelUpRetraceColor,1); str= NumToStr (fibLevel[i]*100);str= StrMid (str,0, StrFind (str, "." )+1); PlotText ( "" +str+ "%" , BarCount , LastValue (ll),primaryValueLabelColor); } if (tog2 AND levType[i]==2) //secondary level { ll=ss1+delta*fibLevel[i]; Plot ( IIf (ss1,ll, Null ), "" ,fibLevelUpRetraceColor, styleDashed ); str= NumToStr (fibLevel[i]*100);str= StrMid (str,0, StrFind (str, "." )+1); PlotText ( "" +str+ "%" , BarCount , LastValue (ll),secondaryValueLabelColor); } if (levType[i]==3) //basic level { ll=ss1+delta*fibLevel[i]; Plot ( IIf (ss1,ll, Null ), "" ,fibLevelUpRetraceColor, styleThick ); str= NumToStr (fibLevel[i]*100);str= StrMid (str,0, StrFind (str, "." )+1); PlotText ( "" +str+ "%" , BarCount , LastValue (ll),primaryValueLabelColor); } } else if (sit==2) { if (tog1 AND levType[i]==1) //primary { ll=rr1-delta*fibLevel[i]; Plot ( IIf (rr1,ll, Null ), "" ,fibLevelDnRetraceColor,1); str= NumToStr (fibLevel[i]*100);str= StrMid (str,0, StrFind (str, "." )+1); PlotText ( "" +str+ "%" , BarCount , LastValue (ll),primaryValueLabelColor); } if (tog2 AND levType[i]==2) //secondary { ll=rr1-delta*fibLevel[i]; Plot ( IIf (rr1,ll, Null ), "" ,fibLevelDnRetraceColor, styleDashed ); str= NumToStr (fibLevel[i]*100);str= StrMid (str,0, StrFind (str, "." )+1); PlotText ( "" +str+ "%" , BarCount , LastValue (ll),secondaryValueLabelColor); } if (levType[i]==3) //basic { ll=rr1-delta*fibLevel[i]; Plot ( IIf (rr1,ll, Null ), "" ,fibLevelDnRetraceColor, styleThick ); str= NumToStr (fibLevel[i]*100);str= StrMid (str,0, StrFind (str, "." )+1); PlotText ( "" +str+ "%" , BarCount , LastValue (ll),primaryValueLabelColor); } } } } //////////////////// END FIBONACCI LEVEL DISPLAY ///////////////////// |