May 6, 2007
Bar-Scaling Tool
When testing short-term trading systems that respond to single-bar price changes it is very convenient to be able to manually change a bar’s price and force a signal. The small program listed below can be prefixed to your system’s code and will do this by magnifying the selected High, Low and Close price with respect to the Open price of the bar.
SetBarsRequired(100000,10000); BI=BarIndex(); SB=LastValue(ValueWhen(BI==SelectedValue(BI),BI)); EnableScaling=ParamToggle("Bar Scaling","DISABLED|ENABLED"); ScalingFactor=Param("HLC Scaling Factor",1,0,5,0.01); if(EnableScaling) { Hd=H[sb]-O[sb]; Ld=O[sb]-L[sb]; Cd=C[sb]-O[sb]; Hd=ScalingFactor*Hd; Ld=ScalingFactor*Ld; Cd=ScalingFactor*Cd; H[sb]=O[sb]+Hd; L[sb]=O[sb]-Ld; C[sb]=O[sb]+Cd; } //Code to demonstrate bar scaling Short=Cover=0; Buy=Cross(High,Ref(H,-1)); Sell=Cross(Ref(L,-1),L); BuyPrice=Ref(H,-1); SellPrice=Ref(L,-1); Plot(C,"",1,128); PlotShapes(IIf(Buy,shapeUpTriangle,shapeNone),colorBrightGreen,0,BuyPrice,0); PlotShapes(IIf(Sell,shapeDownTriangle,shapeNone),colorRed,0,SellPrice,0);
Edited by Al Venosa
Filed by Herman at 4:49 am under Debugging AFL
Comments Off on Bar-Scaling Tool