// Strategy which opens random position with optimized take profit and stop loss for optimized period. Used walk forward optimization, parameters explained below.
// author: NightWalker @ Zorro Trader Forum
// version: 20121214.
function run()
{
BarPeriod = 1;
set(PARAMETERS);
DataSplit = 90; // 90% training, 10% test
NumWFOCycles = 10; // 10 cycles, 9 test periods
//parameters to optimization
var atrStop = optimize(1,1,1000,20,0); //multiplier of ATR from optimized period for stop loss
var atrProfit = optimize(1,1,1000,20,0); //multiplier of ATR from optimized period for take profit
var atrPeriod = optimize(1,1,1440,20,0); //period
var *closePriceSeries = series(priceClose());
// calculate stop loss and take profit
Stop = atrStop*ATR(atrPeriod);
TakeProfit = atrProfit*ATR(atrPeriod);
Lots = 1;
// open only 1 transcation at time and wait until take profit or stop loss is hit
if(NumOpenTotal == 0) {
if(peak(closePriceSeries)) //on local max
enterShort();
else
if(valley(closePriceSeries)) // on local min
enterLong();
}
set(PLOTNOW);
PlotWidth = 800;
PlotHeight1 = 320;
}