Копирование же онлайн? Как проверять длительность сделки? Только задерживая копирование, чтобы посмотреть не закроется ли она через полсекунды - а это принесет проскальзывания, причем сразу для всех сделок.
А что там фильтровать то? Простое условие if() на проверку длительности.. Не тянет это на статью..
Дьявол в деталях. Простоif не сохранит лог для техподдержки и не сформирует отчет.
Статья предлагает полноценный модуль: подключил — и забыл. Плюс рассматриваем нюансы интеграции в копировщики, чтобы не блокировать нормальные скальперские сделки. Думаю, готовое решение будет полезно многим, кто не хочет писать велосипед.
Aleksei Kuznetsov #: Копирование же онлайн? Как проверять длительность сделки? Только задерживая копирование, чтобы посмотреть не закроется ли она через полсекунды - а это принесет проскальзывания, причем сразу для всех сделок.
Алексей, спасибо за вопрос! Задерживать все сделки — это действительно убило бы торговлю. Механизм работает иначе.
Защита нацелена на "спайки" и "рисованные" сделки, которые появляются в истории мгновенно (OpenTime == CloseTime).
Алгоритм
Копир видит новую сделку.
Проверяет: "Она уже закрыта на Мастере?"
ЕслиДАи длительность 0 сек — это манипуляция -> пропуск (BLOCK).
Если сделкаОТКРЫТА— копир мгновенно без задержек.
Таким образом, нормальные рыночные входы не страдают от задержек, а "мгновенный мусор" отсеивается.
Aleksei Kuznetsov #: Ну проверки же не мгновенные, как минимум сетевые задержки есть. С домашнего компа больше, с ВПС меньше.
Не совсем так. Проверка выполняетсялокально, без отправки дополнительных запросов на сервер.
Когда срабатывает событие OnTrade() , это значит, что терминал уже получил информацию о сделке. Данные находятся в локальной базе (истории) вашего терминала.
Функция проверки (чтение HistoryDealGetInteger ) обращается к оперативной памяти компьютера. Это занимает микросекунды (0.000001 с) и никак не зависит от пинга или типа подключения (ВПС/Дом). Дополнительной сетевой задержки тут нет
Не совсем так. Проверка выполняетсялокально, без отправки дополнительных запросов на сервер.
Когда срабатывает событие OnTrade() , это значит, что терминал уже получил информацию о сделке. Данные находятся в локальной базе (истории) вашего терминала.
Функция проверки (чтение HistoryDealGetInteger ) обращается к оперативной памяти компьютера. Это занимает микросекунды (0.000001 с) и никак не зависит от пинга или типа подключения (ВПС/Дом). Дополнительной сетевой задержки тут нет
Понял вас, полностью согласен: темы брокеров и копирования не трогать.
Чтобы написать действительно полезный материал, предлагаю тему из области DevOps и культуры разработки, которой очень не хватает в сообществе.
Предлагаемая тема:«CI/CD для алготрейдера: Как настроить автоматическое тестирование и деплой MQL5-проектов через GitHub Actions».
О чем будет статья:Превращаем ручную разработку в профессиональный конвейер:
Как связать MetaEditor и Git (версионирование).
Автоматический запуск тестов советника в терминале при каждом обновлении кода (push).
Как получать отчеты о тестировании прямо на email или в Telegram без запуска терминала руками.
Организация "чистой" среды разработки.
Это чисто инженерная статья о повышении качества кода и автоматизации рутины. Такой формат "Professional MQL5 Development" будет интересен?
редко читаю здесь статьи, но эту бы прочитал. Интересно бы посмотреть реализацию yaml. Какую архитектуру планируете применять? Self-hosted runner или через Wine в Docker?
У 99% алготрейдеров уже есть Windows VPS для торговли. Превратить его в ранера — это вопрос 5 минут, и это сразу дает результат без боли настройки окружения. Проблемы Wine: Запуск тестера стратегий MQL5 через Wine в Docker — это "высший пилотаж", но часто сопряжен с проблемами (OpenCL, шрифты, графические зависимости). Это может отпугнуть новичков.
Моя цель: показатьминимальный порог входав CI/CD, чтобы каждый мог настроить пайплайн за вечер. А Docker/Wine упомяну как продвинутую альтернативу для тех, кто хочет чистый Cloud-native подход.
YAML файлы и скрипты PowerShell для "оркестрации" терминала, конечно, приложу.
А что там фильтровать то? Простое условие if() на проверку длительности.. Не тянет это на статью..
Дьявол в деталях. Просто if не сохранит лог для техподдержки и не сформирует отчет.
Статья предлагает полноценный модуль: подключил — и забыл. Плюс рассматриваем нюансы интеграции в копировщики, чтобы не блокировать нормальные скальперские сделки. Думаю, готовое решение будет полезно многим, кто не хочет писать велосипед.
Копирование же онлайн? Как проверять длительность сделки? Только задерживая копирование, чтобы посмотреть не закроется ли она через полсекунды - а это принесет проскальзывания, причем сразу для всех сделок.
Алексей, спасибо за вопрос! Задерживать все сделки — это действительно убило бы торговлю. Механизм работает иначе.
Защита нацелена на "спайки" и "рисованные" сделки, которые появляются в истории мгновенно (OpenTime == CloseTime).
Алгоритм
Таким образом, нормальные рыночные входы не страдают от задержек, а "мгновенный мусор" отсеивается.
Алексей, спасибо за вопрос! Задерживать все сделки — это действительно убило бы торговлю. Механизм работает иначе.
Защита нацелена на "спайки" и "рисованные" сделки, которые появляются в истории мгновенно (OpenTime == CloseTime).
Алгоритм
Таким образом, нормальные рыночные входы не страдают от задержек, а "мгновенный мусор" отсеивается.
Ну проверки же не мгновенные, как минимум сетевые задержки есть: десятки-сотни мс. С домашнего компа больше, с ВПС меньше.
Но тема для копировщиков видимо актуальная.
Ну проверки же не мгновенные, как минимум сетевые задержки есть. С домашнего компа больше, с ВПС меньше.
Не совсем так. Проверка выполняется локально, без отправки дополнительных запросов на сервер.
Когда срабатывает событие OnTrade() , это значит, что терминал уже получил информацию о сделке. Данные находятся в локальной базе (истории) вашего терминала.
Функция проверки (чтение HistoryDealGetInteger ) обращается к оперативной памяти компьютера. Это занимает микросекунды (0.000001 с) и никак не зависит от пинга или типа подключения (ВПС/Дом). Дополнительной сетевой задержки тут нет
Не совсем так. Проверка выполняется локально, без отправки дополнительных запросов на сервер.
Когда срабатывает событие OnTrade() , это значит, что терминал уже получил информацию о сделке. Данные находятся в локальной базе (истории) вашего терминала.
Функция проверки (чтение HistoryDealGetInteger ) обращается к оперативной памяти компьютера. Это занимает микросекунды (0.000001 с) и никак не зависит от пинга или типа подключения (ВПС/Дом). Дополнительной сетевой задержки тут нет
Здравствуйте!
Хочу предложить тему для статьи, которая решает реальную проблему многих трейдеров, работающих с торговыми копирами:
Мы не публикуем статьи с обсуждением брокеров и на тему копирования сигналов
Здравствуйте!
Понял вас, полностью согласен: темы брокеров и копирования не трогать.
Чтобы написать действительно полезный материал, предлагаю тему из области DevOps и культуры разработки, которой очень не хватает в сообществе.
Предлагаемая тема: «CI/CD для алготрейдера: Как настроить автоматическое тестирование и деплой MQL5-проектов через GitHub Actions».
О чем будет статья: Превращаем ручную разработку в профессиональный конвейер:
Это чисто инженерная статья о повышении качества кода и автоматизации рутины. Такой формат "Professional MQL5 Development" будет интересен?
Здравствуйте!
Понял вас, полностью согласен: темы брокеров и копирования не трогать.
Чтобы написать действительно полезный материал, предлагаю тему из области DevOps и культуры разработки, которой очень не хватает в сообществе.
Предлагаемая тема: «CI/CD для алготрейдера: Как настроить автоматическое тестирование и деплой MQL5-проектов через GitHub Actions».
О чем будет статья: Превращаем ручную разработку в профессиональный конвейер:
Это чисто инженерная статья о повышении качества кода и автоматизации рутины. Такой формат "Professional MQL5 Development" будет интересен?
Моя цель: показать минимальный порог входа в CI/CD, чтобы каждый мог настроить пайплайн за вечер. А Docker/Wine упомяну как продвинутую альтернативу для тех, кто хочет чистый Cloud-native подход.
YAML файлы и скрипты PowerShell для "оркестрации" терминала, конечно, приложу.