Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте,
Я прикрепляю советника к нескольким графикам различных валют. Советник будет открывать много ордеров на одном графике, если выполняются условия. Каким кодированием обеспечить только один ордер на графике?
Здравствуйте,
Я прикрепляю советника к нескольким графикам различных валют. Советник будет открывать много ордеров на одном графике, если выполняются условия. Как закодировать, чтобы на одном графике был только один ордер?
Перебирайте открытые ордера и проверяйте наличие магического номера и символа.
Если ордер уже открыт, не открывать больше.
PS. Вам действительно следовало бы начать новую тему, так как ваш вопрос никак не связан с названием темы :)
Привет, Трдель,
Time[0] относится к времени бара 0? Есть ли Time[1], Time [2] и т.д.? Я пытался погуглить, но в интернете не так много информации. Также, если я прикреплю этот советник к двум валютным парам, означает ли это, что OrderSelect выбирает только ордера на самом графике или все ордера в терминале?
Time[0] - это время начала текущего бара. Да, Time[1] - это время начала предыдущего бара и так далее.
Если вы хотите запустить один и тот же советник на нескольких графиках, вам нужно убедиться, что переменная "MagicMunber" различна для каждого советника, даже если у вас один и тот же символ на разных графиках.
Тогда советники не будут мешать ордерам друг друга.
OrderSelect() получает значение не с графика, а с сервера.
Информация о вашем счете и ордерах хранится на сервере, поэтому, когда вы выключаете компьютер, ваш ордер stop или tp все еще исполняется.
Привет, thrdel,
Почему я получаю это предупреждение "implicit conversion from 'number' to 'string' postin forum.mq4 69 61" для кодировки " if(ticket<0)Print("Error OP_BUY order failed, error: "+GetLastError());"?
Если вы хотите отобразить двойную переменную с помощью Comment() или вывести ее на печать с помощью Print(), вы должны преобразовать ее в строку с помощью функции DoubleToString().
Для переменных int преобразование очевидно, поэтому если вы не используете IntToString () для этого, оно все равно будет компилироваться и работать, так как это очевидно.
Здравствуйте,
Я прикрепляю советника к нескольким различным валютным графикам. Советник будет открывать много ордеров на одном графике, если выполняются условия. Каким кодом обеспечить только один ордер на график?
Привет, Чуале,
Я сделал пару изменений в вашем советнике, чтобы заставить его работать.
MagicNumber - это переменная, вы должны убедиться, что она разная на каждом графике!
Если вы хотите, чтобы я объяснил вам, почему и как эти изменения работают, напишите мне, и я буду рад помочь, если смогу.
Вы можете сами провести несколько тестов и посмотреть, как это работает, я тестировал это на USDJPY.
Переменные Max и Min заменяют значения 1 и -1 в вашем условии, так что вы можете оптимизировать и посмотреть, работают ли другие значения лучше.
if(bar2 > Max
Вы знаете, как оптимизировать параметры?
Если у вас есть какие-либо вопросы, дайте мне знать или напишите.
Вот код:
Привет, Трдель,
Большое спасибо. Вы очень любезны и полезны. Я сначала пройдусь по вашей кодировке. Еще раз спасибо.
Привет, Трдель,
Это означает, что я должен попробовать разные значения Max и Min для каждого бэктеста, чтобы определить, какое значение является наиболее оптимальным?
Спасибо