PureBytes Links
Trading Reference Links
|
Lets go over the steps to plot Chart and Grid once again:
Once you copy the new code* at the end of the message
You need to perform the following:
Set Blank bars in right margin to 10 . Preferences Window
Right click on chart select Parameters and press "YES" on "PlotGrid" option. Parameters Window
Note that: Grid is plotted for the chart area in the right of Vertical Selection Line. Chart and Grid
* The following code includes the option to choose form 3 ways of calculating the box size:
- Traditional (Box size default value = 1 with increments of 10 points)
- Percentage (Box size default value 1% of last value close with increments of 0.1%).
- Average True Range (Box size default value last value ATR (20) with increments of 10 % of ATR (20) ).
You can choose to apply this from "Scaling Method" drop down menu in Parameters
Don't forget to check the code in formula editor before you apply
//Copy ----------------------------------------------------
GraphXSpace = 5;
SetChartBkColor(ParamColor("BackGroundColor", colorBlack)); GraphColor = ParamColor("GarphColor",colorLightGrey); GridColor = ParamColor("GridColor", ColorRGB(39,49, 67) );
Scaling = ParamList("Scaling Method", "Traditional|Percentage|AVG True Range");
if( scaling == "Traditional") Box = Param("Box", 1, 0.2, 10, 0.1); else if( scaling == "Percentage") Box = Param("Box", 1, 0.2, 10, 0.1)/100 * LastValue(C); else if( scaling == "AVG True Range") Box = Param("Box", 1, 0.3, 5, 0.1) * LastValue( ATR (20));
shiftChart =0; shiftLastClose =1; shiftGrid =7; shiftPriceAxis = 2;
Reverse = Param("Reverse", 3, 1, 5); j = 0; PFL[0] = Box * ceil(Low[0]/Box) + Box; PFH[0] = Box * floor(High[0]/Box); direction = 0;
for( i = 1; i < BarCount; i++ ) { if(direction[j] == 0) { if(Low[i] <= PFL[j] - Box) { PFL[j] = Box * ceil(Low[i]/Box); } else { if(High[i] >= PFL[j] + Reverse*Box) { j++; direction[j] = 1; PFH[j] = Box * floor(High[i]/Box); PFL[j] = PFL[j - 1] + Box;
} } } else { if(High[i] >= PFH[j] + Box) { PFH[j] = Box * floor(High[i]/Box); } else { if( Low[i] <= PFH[j] - Reverse * Box ) { j++; direction[j] = 0; PFH[j] = PFH[j - 1] - Box; PFL[j] = Box * ceil(Low[i]/Box);
} } } } delta = BarCount - j -1; direction = Ref(direction, - delta); Hi = Ref(PFH, -delta) + Box/2; Lo = Ref(PFL, -delta)- Box/2; Cl = IIf(direction == 1, Hi, Lo); Op = IIf(direction == 1, Cl - Box, Cl + Box);
PlotOHLC(Op, Hi, Lo, Cl,"", GraphColor , stylePointAndFigure|styleNoLabel, 0, 0 ,shiftChart);
Last = Ref( LastValue(C), -(BarCount-1)); Plot( Last,"", colorRed,styleNoLine|styleDots, 0 , 0, shiftLastClose);
// selected value Value= IIf(direction>0, SelectedValue(Hi)-box/2, SelectedValue(Lo)+box/2);
//----------------------------------------------------------------------- // GRID CONSTRUCTION //----------------------------------------------------------------------
PlotGridLines = ParamToggle("PlotdGrid", "Yes|No", 0);
if (PlotGridLines) { begin = SelectedValue(BarIndex()); end = LastValue(BarIndex()); period = end-begin +1;
if( begin<end) {
ScreenHigh =LastValue( HHV(cl, period )); ScreenLow =LastValue( LLV( Cl, period) );
top= LineArray( begin-shiftGrid, screenHigh, end, screenhigh, 0 , 1); Bot= LineArray( begin-shiftGrid, screenlow, end, screenLow, 0, 1);
Plot( top, "", gridColor,styleLine|styleNoLabel , 0, 0,shiftGrid); //Plot( bot, "", gridColor,styleLine|styleNoLabel, 0 , 0 , shiftGrid);
VerticalGrid = IIf ( BarIndex() >= begin, IIf(direction==1, screenHigh, screenLow), Null);
Plot (VerticalGrid, "", gridColor, styleStaircase|styleNoLabel, 0,0, 1);
format = 8.2;
for ( n=LastValue(bot); n< LastValue(top) - 0.5*box; n = n+box) { Plot( bot , "", gridColor, styleLine|styleNoLabel, 0, 0 ,shiftGrid); text = NumToStr(LastValue(bot) + 0.5*box, format); xposition = BarCount+shiftPriceaxis; yPosition = LastValue(bot)+0.27*box; PlotText(text, xPosition , yPosition, colorWhite); bot = bot + box;
} }
}
//--------------------------------------------------------------------- // TITLE //----------------------------------------------------------------------
Title = "\n" + " Instrument : " + Name() + FullName()+"\n " + "Formula : " + " PF StockChart" + "\n " + "Box : " + box + " " + "Reverse : " + reverse + "\n " + "ATR : " + LastValue(ATR(20));
__._,_.___
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
For other support material please check also:
http://www.amibroker.com/support.html
SPONSORED LINKS
__,_._,___
|