Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Такой вопрос:
В 5:00 по Гринвичу, при определенных условиях, выставляется отложенный ордер байстоп или селлстоп. При срабатывании ордера открывается куча ордеров. Какую функцию нужно применить к отложенным ордерам, чтобы открывался только один ордер на одном баре?
И еще: как сделать так, чтобы открылось 3 ордера через каждые 15 пунктов?
Спасибо.
Мне всегда помогала такая строка в начале кода:
дело в том что если по разным причина вы не поймали первый тик ( например бывает что первый тик вы можете получит Volume [0] больше чем 2 или 3
отсутвие связи при отправке первого тика дилингов и вы не ловите первый тик
так же дилинг просто может первый тик нового бара прислать сразу Volume[0] больше чем 1
например при гепах ...
потому конструкция
надежна!
Пример использования:
Если нет открытых позиций, функция принимает значение -1, а следовательно открытие позиции становится невозможным.
Правильно:
Мне нужно сделать так, что-бы после открытия трех сделок советник больше не открывал сделки в этом баре.
Если кто знает, подскажите.
Мне нужно сделать так, что-бы после открытия трех сделок советник больше не открывал сделки в этом баре.
При успешной отправке OrderSend - наращивайте счетчик N++.
И потом перед открытием очередного ордера - проверяйте N и треубемый масимум ордеров. и время открытия последнего ордера и время текущего бара
+ Также вам понадобится обнулять N, когда ордеров не будет
При успешной отправке OrderSend - наращивайте счетчик N++.
И потом перед открытием очередного ордера - проверяйте N и треубемый масимум ордеров. и время открытия последнего ордера и время текущего бара
+ Также вам понадобится обнулять N, когда ордеров не будет
Это проблемное решение и неверное с точки зрения логики
поясню...
---
что Вы посоветуете
если вы нарастили счетчик,
и например
1 пропадает электричество - затем появляется
2 или просто перезапустили эксперт!
3 вы вышли из МТ4 и снова зашли
что происходит при запуске эксперта и что со счетчиком? правильно он равен = 0
--
Вариант предложенный Kim надежней!
Это проблемное решение и неверное с точки зрения логики
поясню...
---
что Вы посоветуете
если вы нарастили счетчик,
и например
1 пропадает электричество - затем появляется
2 или просто перезапустили эксперт!
3 вы вышли из МТ4 и снова зашли
что происходит при запуске эксперта и что со счетчиком? правильно он равен = 0
--
Вариант предложенный Kim надежней!
значит надо на каждом тике посчитать ордера ...
Типа если открыт sell то os=1, если еще селл то os=2 и так далее.
Для контроля открытия на одном баре обычно пользуюсь сравнением переменной и количества баров в начале кода и в конце кода переменная приравнивается количеству баров на графике.
Такой код не подводил меня не в тестере ни в торговле.
также считаю счетчики отстоем - зачем что-то сохранять, когда это можно получить непосредственно из журнала ордеров - объективно и независимо ни от чего..
нужно всего ничего - функция определяющая новый бар, и функция гарантированно открывающая ордер,
т.е. обеспечивающая 100% проверки всего и вся, открывающая ордер с заданным числом попыток, а также возвращающая условный код ошибки для дальнейшего управления программой..
соответственно,
ну или более гибко
ну и до кучи, отслеживать наличие критических ситуаций с сохранением информации, с тем чтобы на следующем тике исправить ситуацию с не окрывшимися ордерами, если оно еще актуально..Ребят, помогите реализовать функцию запрета открытия не более одного ордера на одном баре, я реально перепробывал уже выше описанные методы, то ли я не то делаю то ли ещё что.