function run()
{
set(PARAMETERS);
BarPeriod = 1440;
LookBack = 500;
while(asset(loop("AUD/USD","EUR/USD","GBP/USD","GER30","NAS100","SPX500","UK100","UKOil","US30","USD/CAD","USD/CHF","USD/JPY","USDOLLAR","USOil","XAG/USD","XAU/USD")))
{
var *ClosePrice = series(priceClose());
var ccilength = optimize(20,5,200,5,0);
var cciextreme = optimize(100,50,250,25,0);
var cciextremen = (cciextreme*-1);
var profatr = optimize(3,1,5,0.5,0);
var *cci = series(CCI(ccilength));
var stopatr = optimize(1,0.5,5,0.5,0);
Stop = stopatr*ATR(20);
Profit = profatr*ATR(20);
if(cci[1] > cciextreme && cci[0] < cciextreme)
enterShort();
if(cci[1] < cciextremen && cci[0] > cciextremen)
enterLong();
}
}