Скачать MetaTrader 5

Советник не открывает ордера в нескольких графиках

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
В сервисе Фриланс выполнено тысячи оплачиваемых заказов. Присоединяйся!
altiba
23
altiba 2013.05.19 17:26 

Я в учебных целях написал советник, совершенно примитивный.

На отдельном графике он работает замечательно.

Но если он присоединен к нескольким графикам, то, пока открыт ордер в одном (любом) графике, в других ордера не открываются, а должны бы.

В чем дело не понимаю. 

Может где-то птичку недоставил в МТ4 ил ещё что-то подобное.

Вопрос: что нужно сделать, чтобы советник открывал ордера во всех графиках к которым присоединен? 

ktest0
631
ktest0 2013.05.19 21:18  
altiba:

Я в учебных целях написал советник, совершенно примитивный.

На отдельном графике он работает замечательно.

Но если он присоединен к нескольким графикам, то, пока открыт ордер в одном (любом) графике, в других ордера не открываются, а должны бы.

В чем дело не понимаю. 

Может где-то птичку недоставил в МТ4 ил ещё что-то подобное.

Вопрос: что нужно сделать, чтобы советник открывал ордера во всех графиках к которым присоединен? 


Судя по сказанному открывает он только по одному ордеру?

Если да, то нужно чтобы советник отслеживал только свой ордер, а на другие открытые не смотрел... 

Александр
21
Александр 2013.05.20 03:47  
ktest0:


Судя по сказанному открывает он только по одному ордеру?

Если да, то нужно чтобы советник отслеживал только свой ордер, а на другие открытые не смотрел... 


Наверно скелет был из стандартных советников терминала, если да то нужно подправить пару строк, было - #define MAGICMA  20050610, ты ее удали,

а в основных переменных добавь - extern double MAGIC   = 20050610; и на каждом графике поменяй цифры (что бы маджик был разный)... Вроде все... 

ktest0
631
ktest0 2013.05.20 03:53  
LeksusMt4:


Наверно скелет был из стандартных советников терминала, если да то нужно подправить пару строк, было - #define MAGICMA  20050610, ты ее удали,

а в основных переменных добавь - extern double MAGIC   = 20050610; и на каждом графике поменяй цифры (что бы маджик был разный)... Вроде все... 


А как вы узнали имена его переменных, которые используются в его составном советнике?

о_О 

Heroix
1257
Heroix 2013.05.20 04:20  
ЛексусМТ4 доставляет.
pavlic
23
pavlic 2013.05.23 07:36  

Кто поможет? Советник в тестере работает нормально а на графике открыл 1 сделку на прошлой неделе ,а на этой неделе молчит,когда в тестере на этой неделе открыл 4 сделки. В чем проблема? вот код  

  extern int    tp    = 20;

 extern int    sl    = 40;

 extern double Lot   =0.01;

 extern double Magic =2345;

 //---- indicator parameters

extern int MA_Period=13;

extern int MA_Shift=2;

extern int NA_Period=11; 

extern int NA_Shift=0;

double A,B,C,D,AN,BN,CN,DN;

int start()

  {

  A=iMA(NULL,0,MA_Period,MA_Shift,MODE_SMA,PRICE_CLOSE,0);

  B=iMA(NULL,0,MA_Period,MA_Shift,MODE_SMA,PRICE_CLOSE,1);

  C=iMA(NULL,0,MA_Period,MA_Shift,MODE_SMA,PRICE_CLOSE,2);

  D=iMA(NULL,0,MA_Period,MA_Shift,MODE_SMA,PRICE_CLOSE,3);

  AN=iMA(NULL,0,NA_Period,NA_Shift,MODE_SMA,PRICE_CLOSE,0);

  BN=iMA(NULL,0,NA_Period,NA_Shift,MODE_SMA,PRICE_CLOSE,1);

  CN=iMA(NULL,0,NA_Period,NA_Shift,MODE_SMA,PRICE_CLOSE,2);

  DN=iMA(NULL,0,NA_Period,NA_Shift,MODE_SMA,PRICE_CLOSE,3);

  

       if(OrdersTotal()==0 && A < AN && D > DN )  

 OrderSend(Symbol(),OP_BUY,Lot,Ask,0,Ask-sl*Point,Ask+tp*Point,"",Magic,0,Blue); 

   

        if(OrdersTotal()==0 && A > AN && D < DN )                                   

 OrderSend(Symbol(),OP_SELL,Lot,Bid,0,Bid+sl*Point,Bid-tp*Point,"",Magic,0,Red); 

 

    return(0);

    }

Victor Nikolaev
Модератор
14483
Victor Nikolaev 2013.05.23 16:47  
pavlicos:

Кто поможет? Советник в тестере работает нормально а на графике открыл 1 сделку на прошлой неделе ,а на этой неделе молчит,когда в тестере на этой неделе открыл 4 сделки. В чем проблема? вот код  

  


А почему Вы решили что Ваш код должен открывать ордера на разных инструментах.

Только один ордер на все советники 

pavlic
23
pavlic 2013.05.23 17:08  

Спасибо за ответ. Хорошо  было  бы  если бы один ордер на всех а у меня на 4 графика,целую неделю ни одной сделки.

Подскажите пожалуйста  где ошибка

Victor Nikolaev
Модератор
14483
Victor Nikolaev 2013.05.23 17:23  
pavlicos:

Спасибо за ответ. Хорошо  было  бы  если бы один ордер на всех а у меня на 4 графика,целую неделю ни одной сделки.

Подскажите пожалуйста  где ошибка


А Вы логи смотрели?
pavlic
23
pavlic 2013.05.23 17:35  

"логи" Вы имейте виду в журнале? нет ошибок , кажется что он и не пытался открыть,хотя условии совпали несколько раз

Ihor Herasko
9025
Ihor Herasko 2013.05.23 18:40  
Vinin:

А Вы логи смотрели?


Ну причем здесь логи то? Код советника приведен. Там ясно видно условие "если нет рабочих ордеров". Если есть хотя бы один рабочий ордер (даже отложенный), то советник не откроет ордер при соблюдении всех остальных условий.

To pavlicos: для лечения добавления пары строк будет недостаточно. Чтобы иметь представление о предстоящей работе, почитайте вот это.

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий