#define BANK 50000.0
string selected_asset;
function run() {
BarPeriod = 80;
LookBack = 501;
StartDate = 20130701;
EndDate = 20140420;
set(TICKS + LOGFILE + MUTE);
set(RULES);
set(PLOTNOW);
set(TESTNOW);
set(FACTORS);
if (Train) {
Hedge = 2;
Detrend = 1;
} else {
set(NFA + MARGINLIMIT + ACCUMULATE);
Hedge = 4;
Detrend = 0;
}
TradesPerBar = 2;
Weekend = 1;
ExitTime = 24 * 60 / BarPeriod;
NumWFOCycles = 3;
Confidence = 75;
float max_margin_per_trade = BANK / ((ExitTime + 1) * TradesPerBar);
while(selected_asset = loop(
"EUR/CAD", "EUR/CHF", "EUR/GBP", "EUR/USD", "GBP/CAD", "GBP/USD", "USD/CAD"
)) {
asset(selected_asset);
var atrx = ATR(200);
Stop = 1.0;
TakeProfit = 2.0;
vars Price = series(price());
var v01 = WillR(228);
plot("v01", v01, LINE+NEW, BLUE);
var v02 = WillR(155);
plot("v02", v02, LINE+NEW, BLUE);
var pattern76888[6] = { 7, 6, 8, 8, 8, -1 };
var v03 = detect(Price, 0, 10*PIP, pattern76888);
plot("v03", v03, LINE+NEW, BLUE);
if (adviseShort(PERCEPTRON, 0, v01, v02, v03) > 0) {
Margin = OptimalFShort * max_margin_per_trade;
enterShort();
}
if (adviseLong(PERCEPTRON, 0, v01, v02, v03) > 0) {
Margin = OptimalFLong * max_margin_per_trade;
enterLong();
}
}
}