Скачать MetaTrader 5

Билд 193. Советник не работает, если терминал запущен планировщиком заданий

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114297
Forex Trader  
Если терминал запустить планировщиком заданий, то в журнале "Эксперты" появляется строка:
2006.05.18 02:48:06	Expert GBPUSD,M1: loaded successfully


После чего никаких действий советник не производит. Если терминал запустить обычным образом, то после этой строки, появляется строка

2006.05.18 02:48:07	Expert GBPUSD,M1: initialized


и советник работает. До билда 193 этой проблемы не было. У меня советники запускаются планировщиком. Сделайте, что советники работали.

MetaQuotes Software Corp.
Модератор
188099
MetaQuotes Software Corp.  
Дело в том, что теперь у экспертов init вызывается только по приходу первого тика. Это гарантирует наличие полного рыночного окружения. Раньше программисты вставляли в init массу вызовов функций, зависящих от рыночного окружения, что приводило к проблемам из-за того, что init вызывался раньше подкачки и инициализации общих данных.

Вызов init после гарантированного рыночного окружения(котировки, настройки символов, история граифков и тд) решает массу проблем и уберегает трейдеров от проблем. То есть, нам больше не надо требовать "не вызывайте рыночные функции в init".
Forex Trader
114297
Forex Trader  
В ветке "Зависает эксперт?" я писал о похожей проблеме - кажется, проблема все-таки возникает когда терминал запускается через CreateProcess() (как и в случае планировщика).
MetaQuotes Software Corp.
Модератор
188099
MetaQuotes Software Corp.  
Спасибо, проверим.
Forex Trader
114297
Forex Trader  
Dobryj ve4er,

U menia poxozaja problema s bolshym indikatorom (>2000 strok) kokda zapus4enno na neskol'ko kotirovok i pri probe zapustit', daze "login" MT4(build 193) nidajot.. 4toto v start() namudrili kazetsia :) Problemu reshyl prosto: na pervyj zapusk vyxod iz indikatora/experta, na sledus4ij tik uz zapuskajem:


int init=0;

int start()
  {      
   if (init == 0)
   {
    init = 1;
    return(1); // Do not allow exeution if no init
   } 
// dalshe vash kod

}



Paprobuite takoje :)

Forex Trader
114297
Forex Trader  
Похоже, мы воспроизвели проблему. Такое может случиться с подключенным дата-центром
Forex Trader
114297
Forex Trader  
А это в 194-ом починили?
Forex Trader
114297
Forex Trader  
А это в 194-ом починили?

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