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 ....
Market Profile but with fauillure..someone? 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 | //................ SetChartOptions (3, chartShowDates ); //SetChartOptions( 0);//3 , chartShowDates ); for y axis GfxSetOverlayMode ( mode = 1 ); nn = StrToNum ( ParamList ( "Days" , "1|2|3" , 1)); box = Param ( "step" , 10, 1, 100, 1)*TickSize; NewDay = Day ()!= Ref ( Day (), -1); DH = LastValue ( HighestSince (NewDay, H , nn)); DL = LastValue ( LowestSince (NewDay, L , nn)); Range = DH - DL; steps = ceil (Range/box); // linage height = Status ( "pxheight" ) - 50; // width of the profile (indention overhand 30 from below 20 pixels) boxheight = LastValue (height/steps); // size of the box width = ( Status ( "pxwidth" )-110)/3; // offset of the profiles bars = Highest ( BarsSince (NewDay)); ColorStep = LastValue (185/bars); // çàêðûâàåì âíóòðèäíåâíûå ãýïû L = IIf ( C > Ref ( C , -1) AND L > Ref ( C , - 1) AND NOT NewDay, Ref ( C , -1), L ); H = IIf ( C < Ref ( C , -1) AND H < Ref ( C , - 1) AND NOT NewDay, Ref ( C , -1), H ); function GetDayPrice( fild, shift) { DayPrice = LastValue ( TimeFrameGetPrice (fild, inDaily , -shift)); return DayPrice; } function pixlev(price) { result = 30 + (DH - price)/box * boxheight; return result; } procedure PlotProfile(DH, DL, begini, endi, disp) { m = 0; for (j = DH; j > DL; j = j-box) { n = 0; for (i = begini; i < endi; i++) { if ( H [i] >= j AND L [i] <= j) { GfxSelectPen ( colorBlack , 1, 0); GfxSelectSolidBrush ( ColorHSB ((i-begini)*ColorStep, 255, 255)); GfxRectangle ( disp+n*boxheight, 30+m*boxheight, disp+(n+1)*boxheight, 30+(m+1)*boxheight); n++; } } m++; } } procedure PlotLine(x1, y1, x2, y2, Color) { GfxSelectPen (Color, 1, 0); GfxPolyline ( x1, y1, x2, y2 ); } procedure PlotRect(x1, y1, x2, y2, Color) { GfxSelectPen (Color, 0, 5); GfxSelectSolidBrush (Color); GfxRectangle (x1, y1, x2, y2); } procedure PlotPrice(Text, FontName, FontSize, Color, x, y, yAlign, xAlign) { GfxSetBkMode (1); GfxSetTextColor (Color); GfxSetTextAlign ( xAlign|yAlign); GfxSelectFont (FontName, FontSize, 600); // dont work orientation GfxTextOut (Text, x, y); } // for (q = nn; q > 0; q--) { begini = LastValue ( ValueWhen (NewDay, BarIndex (), q)); endi = LastValue ( IIf (q == 1, BarCount , ValueWhen (NewDay, BarIndex (), q-1))); PlotRect(50 + width*(nn-q), pixlev(GetDayPrice( "H" , q-1)), // day range 50 + width*(nn-q+1), pixlev(GetDayPrice( "L" , q-1)), colorLightYellow ); PlotRect(50 + width*(nn-q), pixlev(GetDayPrice( "O" , q-1)), // open-close range 50 + width*(nn-q+1), pixlev(GetDayPrice( "C" , q-1)), IIf (GetDayPrice( "O" , q-1) > GetDayPrice( "C" , q-1), ColorHSB (15, 40, 255), ColorHSB (80, 40, 255))); PlotLine(50 + width*(nn-q), pixlev(GetDayPrice( "C" , q-1)), // close line 50 + width*(nn-q+1), pixlev(GetDayPrice( "C" , q-1)), IIf ( GetDayPrice( "O" , q-1) > GetDayPrice( "C" , q-1), colorRed , colorGreen )); PlotProfile(DH, DL, begini, endi, 50 + width*(nn-q)); PlotLine(50 + width*(nn-q), height+40, 50 + width*(nn-q), 0, colorBlack ); // vertical line PlotPrice( " close " + NumToStr (GetDayPrice( "C" , q-1))+ " " , "Tahoma" , 10, // plot close price IIf ( GetDayPrice( "O" , q-1) > GetDayPrice( "C" , q-1), colorRed , colorGreen ), 50+width*(nn-q+1), pixlev(GetDayPrice( "C" , q-1)), IIf ( GetDayPrice( "O" , q-1) > GetDayPrice( "C" , q-1), 0, 8), 2); PlotPrice( " open " + NumToStr (GetDayPrice( "O" , q-1))+ " " , "Tahoma" , 10, // plot open price colorBlack , 50+width*(nn-q+1), pixlev(GetDayPrice( "O" , q-1)), IIf ( GetDayPrice( "O" , q-1) > GetDayPrice( "C" , q-1), 8, 0), 2); PlotPrice( " " + NumToStr (GetDayPrice( "H" , q-1)), "Tahoma" , 10, // plot high price colorBlack , 50+width*(nn-q), pixlev(GetDayPrice( "H" , q-1)), 8, 0); PlotPrice( " " + NumToStr (GetDayPrice( "L" , q-1)), "Tahoma" , 10, // plot low price colorBlack , 50+width*(nn-q), pixlev(GetDayPrice( "L" , q-1)), 0, 0); } //............... |