function run()
{
BarPeriod = 60; // 1-hour bars
NumCores = -2;
set(RULES+ALLCYCLES+PARAMETERS);
NumYears = 10;
NumWFOCycles = 10;
// NumSampleCycles = 4;
MaxLong = MaxShort = 1; // only 1 open trade
if(Train) {
Hedge = 2; // allow simultaneous long + short trades
Detrend = TRADES; // detrend on trade level
} else {
Hedge = 1; // long trade closes short and vice versa
Detrend = 0;
}
var Limit = optimize (40., 20., 80.);
ExitTime = 4;
if(between(lhour(CET),9,13)) // European business hours
{
if(adviseLong(PATTERN+FAST+2,0, // train patterns with trade results
priceHigh(2),priceLow(2),priceClose(2),
priceHigh(1),priceLow(1),priceClose(1),
priceHigh(1),priceLow(1),priceClose(1),
priceHigh(0),priceLow(0),priceClose(0)) > Limit)
enterLong();
if(adviseShort() > Limit)
enterShort();
}
}