Пиши и зарабатывай на 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 с) и никак не зависит от пинга или типа подключения (ВПС/Дом). Дополнительной сетевой задержки тут нет

Хорошо