- [АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3.
- Как открыть 2 отложенных ордера при условии, что они уже не открыты по данной цене, а потом отключить советника?
- Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
В этом рассждении есть несколько ошибок.
1. Время открытия ордера не имеет никакого отношения к вопросу закрытия. Общий смысл такой: если ордер должен быть закрыт, то он должен быть закрыт независимо от того, открыт ли он 5 мин. назад или месяц назад и независимо от того, был ли он открыт в результате преобразования отложенного в рыночный или просто открыт. Открывать и закрывать ордера следует в соответствии с торговыми критериями ('Автоматическое закрытие и открытие позиции'). В некоторых случаях необходимо закрыть ордер незадолго до так называемой точки бифуркации, т.е. перед выходом новостей (прогноз может не сработать). В этом случае необходимо сравнивать текущее время и заданное время новостей, и закрыться, например, не позднее, чем за 5 мин.
2. >> Первое я нашел все открытые ордера.
В целом рассуждение правильное. Но по мере углубления в вопрос становится очевидно, что любая программа, предназначенная для реальной торговли, должна содержать блок учёта ордеров. См. https://book.mql4.com/ru/samples/expert, https://book.mql4.com/ru/build/orders и 'Учёт ордеров в большой программе'.
3. Сама задача закрытия ордеров - это отдельная задача (не очень простая, но вполне доступная для решения любому думающему программисту).
Кратко, общий порядок закрытия должен быть такой:
а. закрытие встречных рыночных
б. закрытие остаточных рыночных, причём, в порядке стоимости (чем больше лотов, тем раньше, независимо от места открытия)
в. удаление отложенных в порядке приоритета (сначала те, что ближе, потом те, кот. со стопами и т.д.)
Какое время мне покажет, если это были отложенный ордера, который открылись и стали рыночными?
Время срабатывания, т.е. время когда отложенный превратился в рыночный.
Так и написать: Time[0]>OrderOpenTime()+livetime
Так и написать: Time[0]>OrderOpenTime()+livetime
Какое время мне покажет, если это были отложенный ордера, который открылись и стали рыночными?
Время срабатывания, т.е. время когда отложенный превратился в рыночный.
Спасибо за ответы на вопросы.
Добрый день.
Как правильно написать в код эксперта так, чтобы он работал только через определенное время. На пример, он должен закрываться через 1 час и 20 минут от открытие ордера и открыть новый через 20 минут после закрытия последнего ордера.
Я так понимаю для этого нужен эксперт, который закрывал бы эти ордера.
Может кто помочи?
Я вот тоже задался этим вопросом, но видимо ответ есть выше, просто мы его не понимаем :)
Убилнах.
Археолог.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования