Скачать MetaTrader 5

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

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

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

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

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

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

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

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

ktest0
629
ktest0  
altiba:

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

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

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

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

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

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


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

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

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


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

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


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

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

ktest0
629
ktest0  
LeksusMt4:


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

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


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

о_О 

Heroix
1284
Heroix  
ЛексусМТ4 доставляет.
pavlic
27
pavlic  

Кто поможет? Советник в тестере работает нормально а на графике открыл 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
Модератор
15965
Victor Nikolaev  
pavlicos:

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

  


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

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

pavlic
27
pavlic  

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

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

Victor Nikolaev
Модератор
15965
Victor Nikolaev  
pavlicos:

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

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


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

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

Ihor Herasko
16489
Ihor Herasko  
Vinin:

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


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

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

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