Скачать MetaTrader 5

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

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

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

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

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

Vitalie Postolache
12446
Vitalie Postolache  
Tomich7L:

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

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

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

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

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

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

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

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

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