Пиши и зарабатывай на MQL5 - страница 145

 
Копирование же онлайн? Как проверять длительность сделки? Только  задерживая копирование, чтобы посмотреть не закроется ли она через полсекунды - а это принесет проскальзывания, причем сразу для всех сделок.
 
Nikolay Ivanov #:

А что там фильтровать то? Простое условие if() на проверку длительности.. Не тянет это на статью..

Дьявол в деталях. Просто if не сохранит лог для техподдержки и не сформирует отчет.

Статья предлагает полноценный модуль: подключил — и забыл. Плюс рассматриваем нюансы интеграции в копировщики, чтобы не блокировать нормальные скальперские сделки. Думаю, готовое решение будет полезно многим, кто не хочет писать велосипед.

 
Aleksei Kuznetsov #:
Копирование же онлайн? Как проверять длительность сделки? Только  задерживая копирование, чтобы посмотреть не закроется ли она через полсекунды - а это принесет проскальзывания, причем сразу для всех сделок.

Алексей, спасибо за вопрос! Задерживать все сделки — это действительно убило бы торговлю. Механизм работает иначе.

Защита нацелена на "спайки" и "рисованные" сделки, которые появляются в истории мгновенно (OpenTime == CloseTime).

Алгоритм 

  1. Копир видит новую сделку.
  2. Проверяет: "Она уже закрыта на Мастере?"
  3. Если ДА и длительность 0 сек — это манипуляция -> пропуск (BLOCK).
  4. Если сделка ОТКРЫТА — копир мгновенно без задержек.

Таким образом, нормальные рыночные входы не страдают от задержек, а "мгновенный мусор" отсеивается.

 
Javokhir Berdikulov #:

Алексей, спасибо за вопрос! Задерживать все сделки — это действительно убило бы торговлю. Механизм работает иначе.

Защита нацелена на "спайки" и "рисованные" сделки, которые появляются в истории мгновенно (OpenTime == CloseTime).

Алгоритм 

  1. Копир видит новую сделку.
  2. Проверяет: "Она уже закрыта на Мастере?"
  3. Если ДА и длительность 0 сек — это манипуляция -> пропуск (BLOCK).
  4. Если сделка ОТКРЫТА — копир мгновенно без задержек.

Таким образом, нормальные рыночные входы не страдают от задержек, а "мгновенный мусор" отсеивается.

Ну проверки же не мгновенные, как минимум сетевые задержки есть: десятки-сотни мс. С домашнего компа больше, с ВПС меньше.

Но тема для копировщиков видимо актуальная.

 
Aleksei Kuznetsov #:
Ну проверки же не мгновенные, как минимум сетевые задержки есть. С домашнего компа больше, с ВПС меньше.

Не совсем так. Проверка выполняется локально, без отправки дополнительных запросов на сервер.

Когда срабатывает событие  OnTrade() , это значит, что терминал уже получил информацию о сделке. Данные находятся в локальной базе (истории) вашего терминала.

Функция проверки (чтение  HistoryDealGetInteger ) обращается к оперативной памяти компьютера. Это занимает микросекунды (0.000001 с) и никак не зависит от пинга или типа подключения (ВПС/Дом). Дополнительной сетевой задержки тут нет

 
Javokhir Berdikulov #:

Не совсем так. Проверка выполняется локально, без отправки дополнительных запросов на сервер.

Когда срабатывает событие  OnTrade() , это значит, что терминал уже получил информацию о сделке. Данные находятся в локальной базе (истории) вашего терминала.

Функция проверки (чтение  HistoryDealGetInteger ) обращается к оперативной памяти компьютера. Это занимает микросекунды (0.000001 с) и никак не зависит от пинга или типа подключения (ВПС/Дом). Дополнительной сетевой задержки тут нет

Хорошо
 
Javokhir Berdikulov #:

Здравствуйте!

Хочу предложить тему для статьи, которая решает реальную проблему многих трейдеров, работающих с торговыми копирами:

Мы не публикуем статьи с обсуждением  брокеров и на тему копирования сигналов
 
Rashid Umarov #:
Мы не публикуем статьи с обсуждением  брокеров и на тему копирования сигналов

Здравствуйте!

Понял вас, полностью согласен: темы брокеров и копирования не трогать.

Чтобы написать действительно полезный материал, предлагаю тему из области DevOps и культуры разработки, которой очень не хватает в сообществе.

Предлагаемая тема: «CI/CD для алготрейдера: Как настроить автоматическое тестирование и деплой MQL5-проектов через GitHub Actions».

О чем будет статья: Превращаем ручную разработку в профессиональный конвейер:

  1. Как связать MetaEditor и Git (версионирование).
  2. Автоматический запуск тестов советника в терминале при каждом обновлении кода (push).
  3. Как получать отчеты о тестировании прямо на email или в Telegram без запуска терминала руками.
  4. Организация "чистой" среды разработки.

Это чисто инженерная статья о повышении качества кода и автоматизации рутины. Такой формат "Professional MQL5 Development" будет интересен?

 
Javokhir Berdikulov #:

Здравствуйте!

Понял вас, полностью согласен: темы брокеров и копирования не трогать.

Чтобы написать действительно полезный материал, предлагаю тему из области DevOps и культуры разработки, которой очень не хватает в сообществе.

Предлагаемая тема: «CI/CD для алготрейдера: Как настроить автоматическое тестирование и деплой MQL5-проектов через GitHub Actions».

О чем будет статья: Превращаем ручную разработку в профессиональный конвейер:

  1. Как связать MetaEditor и Git (версионирование).
  2. Автоматический запуск тестов советника в терминале при каждом обновлении кода (push).
  3. Как получать отчеты о тестировании прямо на email или в Telegram без запуска терминала руками.
  4. Организация "чистой" среды разработки.

Это чисто инженерная статья о повышении качества кода и автоматизации рутины. Такой формат "Professional MQL5 Development" будет интересен?

редко читаю здесь статьи, но эту бы прочитал. Интересно бы посмотреть реализацию yaml. Какую архитектуру планируете применять? Self-hosted runner или через Wine в Docker?
 
  1. У 99% алготрейдеров уже есть Windows VPS для торговли. Превратить его в ранера — это вопрос 5 минут, и это сразу дает результат без боли настройки окружения. Проблемы Wine: Запуск тестера стратегий MQL5 через Wine в Docker — это "высший пилотаж", но часто сопряжен с проблемами (OpenCL, шрифты, графические зависимости). Это может отпугнуть новичков.

Моя цель: показать минимальный порог входа в CI/CD, чтобы каждый мог настроить пайплайн за вечер. А Docker/Wine упомяну как продвинутую альтернативу для тех, кто хочет чистый Cloud-native подход.

YAML файлы и скрипты PowerShell для "оркестрации" терминала, конечно, приложу.