Привет,
Спасибо, что поделились этим замечательным решением.
Не могли бы вы объяснить, как мне установить SL/TP при отправке ордера? Вот что я нашел в COrderManager::TradeOpen :
ret=SendOrder(type,lotsize,price,0,0);
Похоже, что SL/TP всегда установлены на 0. Как мне это изменить? Какой-то другой метод должен быть использован для отправки ордера с SL или TP?
Это очень странно... Опубликовано так много статей, и ни одна из них не объясняет, как использовать SL, TP. Зачем мне эти временные фильтры, если я не знаю, как установить SL для своей позиции?
Не могли бы вы поделиться хотя бы кусочком кода, демонстрирующим использование стопов, пока не выйдет соответствующая статья? Спасибо.
Есть ли метод получения открытого времени торговли/позиции?
Привет,
Спасибо, что поделились этим замечательным решением.
Не могли бы вы объяснить, как мне установить SL/TP при отправке ордера? Вот что я нашел в COrderManager::TradeOpen :
Похоже, что SL/TP всегда установлены на 0. Как мне это изменить? Какой-нибудь другой метод должен быть использован для отправки ордера с SL или TP?
Это действительно странно... Опубликовано так много статей, и ни одна из них не объясняет, как использовать SL, TP. Зачем мне нужны эти временные фильтры, если я не знаю, как установить SL для своей позиции?
Не могли бы вы поделиться хотя бы кусочком кода, демонстрирующим использование стопов, пока не выйдет соответствующая статья? Спасибо.
В MQL5 его можно получить из COrderInfo или CPositionInfo, но это также зависит от того, используете ли вы режим неттинга или хеджирования. Например, я могу ошибаться, но, насколько я знаю, если вы разворачиваете позицию в режиме неттинга, вы все равно получаете время открытия исходной позиции, а не время, когда вы ее разворачивали. Поэтому я думаю, что отслеживание ордера, который сгенерировал позицию, намного лучше. Что касается версии MQL4, я думаю, вы уже знаете об этом.
В MQL5 вы можете получить его из COrderInfo или CPositionInfo, но это также зависит от того, используете ли вы режим неттинга или хеджирования. Например, я могу ошибаться, но, насколько я знаю, если вы разворачиваете позицию в режиме неттинга, вы все равно получаете время открытия исходной позиции, а не время, когда вы ее разворачивали. Поэтому я думаю, что отслеживание ордера, который сгенерировал позицию, намного лучше. Что касается версии MQL4, я думаю, вы уже знаете об этом.
Да, я знаю об этом. Но в этом случае код будет отличаться для версий MT4 и MT5... Он не будет полностью кроссплатформенным. Собираетесь ли вы реализовать какое-либо решение для этого?
upd. В любом случае это не очень важно. Я могу использовать команду #ifdef для этого.
Также, подскажите, пожалуйста, как мне добавить временной фильтр, чтобы закрыть все сделки до конца дня в пятницу?
То есть я знаю, как закрывать. Я не совсем понял, как добавить фильтр, включающий и фильтр по временному диапазону, и фильтр по дню? Как добавить различные временные диапазоны для определенных дней недели?
Отличное решение, мне кажется одно из лучших, может есть люди которые брали себе данный класс за основу, структурировав под себя в более удобном виде для использования, а то тут он встроен в робота и через кучу ссылок и т.д. как то сложно разобраться что к чему там привязано.
Поделитесь если у кого есть чисто класс, без робота.
Новая статья Кроссплатформенный эксперт: Опубликованы временные фильтры:
Автор: Энрико Ламбино
Спасибо за вашу работу, она была очень познавательной. Она сэкономила мне несколько дней работы. Пожалуйста, пишите больше!!!

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Кроссплатформенный торговый советник: Временные фильтры:
В статье обсуждается реализация различных методов временной фильтрации в кроссплатформенном торговом советнике. Классы временных фильтров отвечают за проверку того, попадает ли конкретное время в определенный период, заданный в настройках.
Для фильтрации по дням нужно включить соответствующий параметр (настроить на true). Также остается включенной фильтрация по временному диапазону, но параметр Friday (регламентирующий работу в пятницу) отключен. Предыдущий тест показал, что последняя сделка открыта 6 января, в пятницу. Таким образом, если мы видим, что эта сделка больше не может быть открыта в Тестере, мы можем подтвердить, что этот конкретный фильтр тоже работает.
Результат теста также показан в приложении к статье (tester_time_days.html). Скриншот последней сделки:
Как видим, последняя сделка была совершена 5 января, а не 6, как на предыдущей иллюстрации. В этой новой конфигурации предпоследняя сделка теперь становится последней. Ее точка выхода совпадает со второй вертикальной линией, которая также является входной точкой последней сделки для предыдущего теста, поскольку у советника всегда имеется одна открытая позиция.Автор: Enrico Lambino