function run() {
if (is(INITRUN)) {
StartDate = 20110101;
EndDate = 20121231;
BarPeriod = 60;
Weekend = 1;
LookBack = 600;
Hedge = 2;
DataSplit = 85;
set(TESTNOW);
set(PARAMETERS+FACTORS);
NumOptCycles = 2;
set(LOGFILE);
}
while(asset(loop("EUR/USD", "USD/JPY", "GBP/USD"))) {
vars Price = series(price());
var v0 = optimize(200, 20, 500);
var v1 = optimize(v0, v0, 600);
Margin = max(OptimalF, 0.001) * 250.;
vars S0 = series(LowPass(Price, v0));
vars S1 = series(LowPass(Price, v1));
Stop = 2.0 * ATR(100);
Trail = 2.0 * ATR(100);
if (crossOver(S0, S1)) {
exitShort();
enterLong();
}
if (crossOver(S1, S0)) {
exitLong();
enterShort();
}
}
}