Сообщений: 26
Поблагодарили: 6 раз(а) в 6 сообщениях
Зарегистрирован: 09 мар 2013, 21:18
Откуда: Матрица
[quote="Nika123"]Здравствуйте, а как мне сделать так что бы советник торговал по нескольким валютным парам? И как реализовать условие что бы советник закрывал сделку по стохастику по сигнальной линии? За ранее большое спасибо.[/quote]
Ох ну тут в двух словах вот так не опишешь.
Суть в том что для получения всех значений спреда аска бида и прочего нужно использовать команду маркет инфо в которой указывать массив с нашими нужными парами а дальше перебирать их все на предмет поиска входа в сделку. Незабываем везде вместо Symbol(), NULL, вписывать наш массив парами. Ниже примитивный вариант решения этой задачки.
Но если в кратсе то так:
[code]
int levelup=80;
int leveldown=20;
string symb[2]={"EURUSD","GBPUSD"};//Вписываем нужное колво пар в массив
double bid,ask,close,open,stochmain,stochsignal_current,stochsignal_previous;
int start(){
for(int i=2;i>=0;i--){//Перебираем наш массив с парами на предмет входа в сделку
bid=MarketInfo(symb[i],MODE_BID);
ask=MarketInfo(symb[i],MODE_ASK);
close=iClose(symb[i],0,0);
open=iOpen(symb[i],0,0);
stochmain=iStochastic(symb[i],0,5,3,3,MODE_SMA,PRICE_CLOSE,MODE_MAIN,0);
stochsignal_current=iStochastic(symb[i],0,5,3,3,MODE_SMA,PRICE_CLOSE,MODE_SIGNAL,0);
stochsignal_previous=iStochastic(symb[i],0,5,3,3,MODE_SMA,PRICE_CLOSE,MODE_SIGNAL,1);
bool tradelong=false;
bool tradeshort=false;
//Ищем вход в сделку
//Если текущее значение сигнальной линии выше нижнего уровня а предыдущее ниже покупаем
if(stochsignal_current>leveldown && stochsignal_previous<leveldown) tradelong=true;
//Если текущее значение сигнальной линии нижу верхнего уровня а предыдущее выше продаем
if(stochsignal_current<levelup && stochsignal_previous>levelup) tradeshort=true;
}
}
[/code]
... Delete the past, the fear, Delete the past, every step is pure...