Работа советника на нескольких валютных парах

 
Установил советника на несколько пар. В программе заложена работа с одним ордером. Уже длительное время на одной паре ордер открыт, а на других нет, хотя условия для открытия выполнены ещё на нескольких парах. Может ли в таком случае открытие ордера по одной паре запретить открытие ордеров на других парах? Может быть нужно в программу ввести контроль за парой, на которой он работает? Как это сделать?
 
Скорее всего надо поменять номер магик на других парах.
 
ULAD:
Скорее всего надо поменять номер магик на других парах.

Я вообще не водил магик. Как его вставить, чтобы это влияло на работу?

Может быть встроить возможность вводить его извне, а внутри программы в нужном месте вписать if() на этот номер, или как? Это мой первый опыт.

Можно ли в качесве магика использовать валютную пару, на которой установлен советник?

 
Tomich7L:

Я вообще не водил магик. Как его вставить, чтобы это влияло на работу?

Может быть встроить возможность вводить его извне, а внутри программы в нужном месте вписать if() на этот номер, или как? Это мой первый опыт.

Можно ли в качесве магика использовать валютную пару, на которой установлен советник?

На каждом символе по копии советника работает, или один советник торгует на нескольких символах?
 
Tomich7L:
Установил советника на несколько пар. В программе заложена работа с одним ордером. Уже длительное время на одной паре ордер открыт, а на других нет, хотя условия для открытия выполнены ещё на нескольких парах. Может ли в таком случае открытие ордера по одной паре запретить открытие ордеров на других парах? Может быть нужно в программу ввести контроль за парой, на которой он работает? Как это сделать?
Выложите кусок кода, где вы определяете работу с одним ордером. Тогда будет ясно.
 
Да что гадаете... там условие if(OrdersTotal() == 0) открыть ордер.
 
AlexeyVik:
Да что гадаете... там условие if(OrdersTotal() == 0) открыть ордер.

Абсолютно верно.

 
evillive:
На каждом символе по копии советника работает, или один советник торгует на нескольких символах?

Для каждого символа соптимизировал набор параметров и установил как положено. Суть - на каждой паре своя копия со своими значениями одних и тех же параметров.

Могут ли эти копии влиять друг на друга работая как один советник? Вот в чём вопрос.

 
Достаточно понять что OrdersTotal() возвращает общее количество открытых и отложенных ордеров по всем валютам и всё встанет на свои места.
 
AlexeyVik:
Достаточно понять что OrdersTotal() возвращает общее количество открытых и отложенных ордеров по всем валютам и всё встанет на свои места.
В Справочник MQL4 написано только " Возвращает общее количество открытых и отложенных ордеров " и всё. Где написано, что если советник установлен на одной паре, то он выдаёт и информацию и по другой? Разумеется всё установлено но и работает одновременно на одной платформе.
 
Tomich7L:
В Справочник MQL4 написано только " Возвращает общее количество открытых и отложенных ордеров " и всё. Где написано, что если советник установлен на одной паре, то он выдаёт и информацию и по другой? Разумеется всё установлено но и работает одновременно на одной платформе.
Ну так понять-то совсем просто написав Comment(OrdersTotal()); и там увидишь количество ордеров по всем парам. А написано там правильно. Потому, что советник работает в терминале и такие функции в которых не указывается символ работают со всеми символами терминала одновременно.
Причина обращения: