Скачать MetaTrader 5

Советники мешают друг другу.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
oleg_z74
106
oleg_z74 2011.07.19 11:19 
Два разных советника торгуют в одно время, и иногда мешают друг другу (советникам приходится делить одни и те же процессы между собой (например посылки ордеров и т.п.).   Подскажите пожалуйста, можно ли запустить два терминала, установленные в разные каталоги, но подключенные к одному счету, и на каждом терминале запустить свой советник, и решит ли это проблему? 

o_o
Модератор
23860
o_o 2011.07.19 12:04  

вы пробовали? нет? попробуйте и будете знать.
Nikolay Demko
12497
Nikolay Demko 2011.07.19 19:25  
oleg_z74:
Два разных советника торгуют в одно время, и иногда мешают друг другу (советникам приходится делить одни и те же процессы между собой (например посылки ордеров и т.п.).   Подскажите пожалуйста, можно ли запустить два терминала, установленные в разные каталоги, но подключенные к одному счету, и на каждом терминале запустить свой советник, и решит ли это проблему? 

В МТ5 нет такого понятия как занятость торгового потока другим приказом, терминал не ждёт результата исполнения приказа прежде чем отправить следующий.

По большому счёту можно сразу отправлять пачку приказов и это ни как не влияет на исполнение.

Так что ваша проблема надумана. Скорее всего у вас банальный конфликт советников при сканировании состояния торговли.

Попробуйте сделать фильтрацию по магику.

oleg_z74
106
oleg_z74 2011.07.19 23:44  
Urain:

В МТ5 нет такого понятия как занятость торгового потока другим приказом, терминал не ждёт результата исполнения приказа прежде чем отправить следующий.

По большому счёту можно сразу отправлять пачку приказов и это ни как не влияет на исполнение.

Так что ваша проблема надумана. Скорее всего у вас банальный конфликт советников при сканировании состояния торговли.

Попробуйте сделать фильтрацию по магику.

Забыл сказать что вопрос по МТ4
Nikolay Demko
12497
Nikolay Demko 2011.07.20 06:43  
oleg_z74:
Забыл сказать что вопрос по МТ4

По МТ4 лучше обращайтесь на профильный форум, хотя конечно большинство тут присутствующих прошли школу mql4.

Конкретно по вашему вопросу могу посоветовать, сделайте в советнике обработку задержки выставления ордера, если торговый поток занят. Для этого есть соответственный флаг в mql4. Таким образом вы не будете нарываться на ошибку и нужный сигнал не будет пропадать.

bool IsTradeContextBusy( ) 
Возвращается TRUE, если поток для выполнения торговых операций занят, иначе возвращает FALSE.
См. также IsTradeAllowed(). 
Пример:
  if(IsTradeContextBusy()) Print("Торговый поток занят. Подождите");

Не забывайте что в МТ4 одновременно может обрабатываться только один ордер, и пока результат запроса не будет возвращён терминалу торговый поток будет занят, и вы не сможете послать другой запрос.

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