// Strategy 1 - dummy from workshop
function trade_S1()
{
TimeFrame = 4;
vars Price = series(price());
vars Filtered = series(BandPass(Price,optimize(30,25,35),0.5));
vars Signal = series(Fisher(Filtered,500));
var Threshold = optimize(1,0.5,2,0.1);
Stop = optimize(4,2,10) * ATR(100);
Trail = 4*ATR(100);
if(crossUnder(Signal,-Threshold))
enterLong();
else if(crossOver(Signal,Threshold))
enterShort();
}
// Strategy 2 - dummy from workshop
function trade_S2()
{
TimeFrame = 1;
vars Price = series(price());
vars Trend = series(LowPass(Price,optimize(500,300,700)));
Stop = optimize(4,2,10) * ATR(100);
Trail = 0;
vars MMI_Raw = series(MMI(Price,300));
vars MMI_Smooth = series(LowPass(MMI_Raw,500));
if(falling(MMI_Smooth))
{
if(valley(Trend))
enterLong();
else if(peak(Trend))
enterShort();
}
}
// Strategy 3 - dummy from workshop
function trade_S3()
{
TimeFrame = 4;
vars Price = series(price());
vars Filtered = series(BandPass(Price,optimize(30,25,35),0.5));
vars Signal = series(Fisher(Filtered,500));
var Threshold = optimize(1,0.5,2,0.1);
Stop = optimize(4,2,10) * ATR(100);
Trail = 4*ATR(100);
if(crossUnder(Signal,-Threshold))
enterLong();
else if(crossOver(Signal,Threshold))
enterShort();
}
// Strategy 4 - dummy from workshop
function trade_S4()
{
TimeFrame = 1;
vars Price = series(price());
vars Trend = series(LowPass(Price,optimize(500,300,700)));
Stop = optimize(4,2,10) * ATR(100);
Trail = 0;
vars MMI_Raw = series(MMI(Price,300));
vars MMI_Smooth = series(LowPass(MMI_Raw,500));
if(falling(MMI_Smooth))
{
if(valley(Trend))
enterLong();
else if(peak(Trend))
enterShort();
}
}
// Function run every new bar
function run()
{
set(PARAMETERS+FACTORS+LOGFILE);
BarPeriod = 60;
LookBack = 2000;
StartDate = 2005;
NumWFOCycles = 10;
Capital = 10000;
// Retraining
if(ReTrain) {
UpdateDays = -1;
SelectWFO = -1;
reset(FACTORS);
}