function run()
{
LookBack = 200;
Hedge = 2;
BarPeriod = 240;
StartDate = 20030101;
EndDate = 20140101;
var Threshold = 0.0;
set(PARAMETERS);
var Timecycle = optimize(5,1,10);
var Scaling = optimize(2,1,3);
var *Price = series(price());
var *LP5 = series (LowPass(Price,Timecycle));
var *LP10 = series(LowPass(Price, Timecycle*Scaling));
Trail = optimize(50,25,100)*PIP;
Stop = optimize(4,2,6) *ATR(30);
var hp = optimize(50,25,75);
var *RSI10 = series(HighPass(Price,hp));
static int crossed = 0;
if(crossOver(LP5,LP10))
crossed = 3;
else if (crossUnder(LP5,LP10))
crossed = -3;
if(crossed > 0 && crossOver(RSI10, Threshold))
{
enterLong();
crossed = 0;
}
else if(crossed < 0 && crossUnder(RSI10, Threshold))
{
enterShort();
crossed = 0;
}
else crossed -= sign(crossed);
plot ("LP1", LP5[0], 0, RED);
plot ("LP2", LP10[0], 0, BLUE);
plot ("RSI", RSI10[0], NEW, BLACK);
plot ("Thres", Threshold, 0, RED);
plot ("Thres1", -Threshold, 0, RED);
}