Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Мы не знаем, что вы пытаетесь сделать.
Если вам нужна только одна открытая сделка за раз, проверьте, нет ли открытых ордеров перед отправкой нового.
Если вам нужна только одна сделка на бар, проверяйте только один раз на бар.
Если вам нужна комбинация условий, протестируйте комбинацию.
Я объясняю здесь:
У меня есть максимум 6 поддержек и 6 сопротивлений для каждого часа. Это может быть 2 поддержки и 2 сопротивления или что угодно, но максимум 6 поддержек и 6 сопротивлений для каждого часа.
Я хочу открыть лимитный ордер на этих уровнях S/R в начале каждого часа.
Я создал одну функцию покупки и одну функцию продажи... так что мне не нужно записывать один и тот же код покупки/продажи для 12 уровней S/R.
Теперь. когда я использую следующий код:
Он создает несколько одинаковых ордеров:
Я такжеиспользовал кодWHRoeder. В отдельной функции. Так как я не могу объявить функцию внутри функции.
Ваша проблема не в функции, которую вы опубликовали, проблема в коде, который вызывает функцию.
Очевидно, что нет проверки, были ли заказы уже размещены.
Ваша проблема не в функции, которую вы опубликовали, проблема в коде, который вызывает функцию.
Очевидно, что нет проверки на то, что заказы уже были размещены
код для вызова функции (снимок)
Как проверить, что заказы уже были размещены или нет? С условиями buyticket > 0?
код для вызова функции (снимок)
Как проверить, что заказы уже были размещены или нет? С условиями buyticket > 0?
Трудно дать совет, поскольку я не знаю, что вы делаете в конце часа с незапущенными ордерами и как вы управляете запущенными ордерами.
Вы можете создать глобально объявленный массив (или 2) и хранить в нем номера билетов для открытых ордеров. Перед открытием нового ордера проверьте элемент массива, соответствующий уровню, на значение >0.
Конечно, вам также нужно будет проверить номера билетов и, если вы удаляете несработавшие ордера, установить элемент массива в 0. Вам также может понадобиться проверить, закрылся ли ордер, и, в зависимости от вашей логики, снова установить его в 0.
Трудно дать совет, поскольку я не знаю, что вы делаете в конце часа с незапущенными ордерами и как вы управляете запущенными ордерами.
Вы можете создать глобально объявленный массив (или 2) и хранить в нем номера билетов для открытых ордеров. Перед открытием нового ордера проверьте элемент массива, соответствующий уровню, на значение >0.
Конечно, вам также нужно будет проверить номера билетов и, если вы удаляете не сработавшие ордера, установить элемент массива в 0. Вам также может понадобиться проверить, закрылся ли ордер, и, в зависимости от вашей логики, снова установить его в 0.
Поскольку я устанавливаю уровни экспирации для нетриггерных ордеров, они истекают в 0:59 или на 59-й минуте. Для триггерных ордеров устанавливаются SL и TP.
Ранее я разработал Ea, который принимает один ордер на покупку или продажу в течение каждого часа. Но здесь это кажется очень сложным.
Хорошо, я попробую закодировать его, как вы сказали. Если возникнут проблемы, я напишу здесь. Кроме того, было бы хорошо, если бы вы могли поделиться каким-нибудь простым примером кода для подсчета количества билетов.
Спасибо за ваше предложение.
Я временно решил свою проблему с помощью следующего кода и запустил его на часовом графике. Простой
Бары ненадежны (обновление/подключение может изменить количество баров на графике) Объем ненадежен (пропустить тики) Всегда используйте время. Новая свеча - Форум MQL4
Спасибо за код. Я добавил его в функцию Tick. Но теперь мой советник не принимает никаких сделок. Поскольку я использую функцию buycall/sell call для размещения отложенных ордеров. Я не смог добавить эту функцию внутри функции.
Есть идеи?
Кроме того, обратная торговля по остановленным ордерам также не работает.
Есть ли какие-нибудь рекомендации по обратному коду? Почему он не работает?
Спасибо.