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

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

 

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

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

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

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

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

 
Urain:

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

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

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

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

Забыл сказать что вопрос по МТ4
 
oleg_z74:
Забыл сказать что вопрос по МТ4

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

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

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

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

Причина обращения: