JRandomTrader #: Но сколько там подводных граблей! ))
Если торговля через отложенные ордера, то граблей нет: OrderSend только на выставление отложки, все остальное (модификация отложки и SL/TP позиции) - OrderSendASync без каких-либо проверок.
Если торговля через отложенные ордера, то граблей нет: OrderSend только на выставление отложки, все остальное (модификация отложки и SL/TP позиции) - OrderSendASync без каких-либо проверок.
fxsaber о том, что отложки у нормальных брокеров не проскальзывают. Но есть такой «лучший брокер в Азии по версии журнала Мурзилка» Insta****x, у которого часто ордера нельзя закрыть ни программно, ни рукими, ни ногами! Иногда даже на ТП и СЛ не реагирует! Я на нем торгую только на бонусном счете, который не жалко убить.
Aleksey Vyazmikin #: Начните с измерений: 1. Пинг. 2. Время на регистрацию заявки. 3. Время на фактическое исполнение заявки с момента регистрации. 4. Время на подтверждение заявки. 5. Время на расчёт логики советника.
На пункт 2 (если существенно превышает пинг) и пункт 3 повлиять не сможете, а часто именно на их стороне причина проскальзывания. Если это так, то ищите лучший вариант обслужвания.
Вопрос - как вы отличите п.2 от п.3? Пинг до сервера можно измерить, зная его URL, честный брокер всегда его скажет в ТП. Вот два моих скрипта, правда под МТ4, но переделать на пятерку пол-часа времени (или отдать ИИ).
Вопрос - как вы отличите п.2 от п.3? Пинг до сервера можно измерить, зная его URL, честный брокер всегда его скажет в ТП. Вот два моих скрипта, правда под МТ4, но переделать на пятерку пол-часа времени (или отдать ИИ).
С пунктом 2 действительно не просто - особенно ретроспективно. Была идея анализировать лог - время отправки заявки и время регистрации заявки (подтверждения регистрации) зафиксировать и уменьшить на двойной пинг, но это всё не очень надёжно. С пунктом 3 всё просто для рыночных ордеров - есть время ордера и время сделки - дельта между ними даст время исполнения. Для стоп ордеров можно рассчитать по тикам время, когда должен был сработать ордер и определить время сделки - дельта даст время исполнения.
Добавлю то, что в теме пока не прозвучало: спред и проскальзывание полезнее не «побеждать», а сначала измерить и заложить в бюджет стратегии.Терминал хранит спред в каждом баре истории (поле spread у MqlRates), но этой информацией почти никто не пользуется — в тестере ставят «текущий» спред и смотрят на кривую. Я прошёл скриптом по 60 дням M1 своего счёта, XAUUSD: медиана 0.37 в единицах цены, p90 = 0.42, p99 = 0.45. Ровно. Но если разложить по часам серверного времени, в час дневного ролловера максимум подскакивает до 1.75 — почти в пять раз выше обычного. Советник, который входит именно в это окно, платит совсем не ту цену, которую видит «в среднем по счёту».Отсюда два практических следствия. Первое: фильтр спреда стоит задавать не в пунктах, а в долях ATR текущего таймфрейма. Абсолютный порог в пунктах устаревает при смене режима волатильности, а доля ATR — нет. У меня в советнике стоит отсечка 0.15 ATR: шире — сигнал просто пропускается, и это отсекает как раз ролловер и первые минуты после новостей.Второе, более важное: прежде чем оптимизировать код и переходить на асинхронные приказы, стоит проверить, переживает ли идея издержки в принципе. Делается двумя прогонами: один со спредом 1 пункт, второй — с фактически измеренным. Если разрыв съедает весь результат, никакая скорость исполнения не спасёт. У меня так умер вполне значимый паттерн на M5: он давал в среднем +0.28 единицы цены на сделку при z выше трёх, но при медианном спреде 0.37 это минус на реальном счёте. Эффект реальный — и при этом неторгуемый.К совету «торгуйте алгоритм, где проскальзывание не играет роли» это и есть количественный критерий: не «играет / не играет» на глаз, а среднее движение сделки против измеренных издержек. Если отношение меньше трёх-четырёх, я такую систему на реальный счёт не ставлю независимо от красоты бэктеста.
Но сколько там подводных граблей! ))
Если торговля через отложенные ордера, то граблей нет: OrderSend только на выставление отложки, все остальное (модификация отложки и SL/TP позиции) - OrderSendASync без каких-либо проверок.
Сам так делаю.
Если торговля через отложенные ордера, то граблей нет: OrderSend только на выставление отложки, все остальное (модификация отложки и SL/TP позиции) - OrderSendASync без каких-либо проверок.
Сам так делаю.
гемор
алготрейдингу отложки не надо
только 2
не скальпировать, и не
скальперы всегда закончат плохо.
fxsaber
Начните с измерений:
1. Пинг.
2. Время на регистрацию заявки.
3. Время на фактическое исполнение заявки с момента регистрации.
4. Время на подтверждение заявки.
5. Время на расчёт логики советника.
На пункт 2 (если существенно превышает пинг) и пункт 3 повлиять не сможете, а часто именно на их стороне причина проскальзывания. Если это так, то ищите лучший вариант обслужвания.
Вопрос - как вы отличите п.2 от п.3? Пинг до сервера можно измерить, зная его URL, честный брокер всегда его скажет в ТП. Вот два моих скрипта, правда под МТ4, но переделать на пятерку пол-часа времени (или отдать ИИ).
OpenOrderTime
OpenPendingOrderTime
Вопрос - как вы отличите п.2 от п.3? Пинг до сервера можно измерить, зная его URL, честный брокер всегда его скажет в ТП. Вот два моих скрипта, правда под МТ4, но переделать на пятерку пол-часа времени (или отдать ИИ).
OpenOrderTime
OpenPendingOrderTime
С пунктом 3 всё просто для рыночных ордеров - есть время ордера и время сделки - дельта между ними даст время исполнения.
Для стоп ордеров можно рассчитать по тикам время, когда должен был сработать ордер и определить время сделки - дельта даст время исполнения.
А что означает "все приказы только "асинхронные" ?
здесь почитайте ENUM_ORDER_TYPE_FILLING
https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties#enum_order_type_filling
можно ограничить проскальзывание но будут реквоты, как ранее уже писалось
так человек вроде про роботизированую торговлю спрашивает / при чем здесь руки ?
в нормальном советнике должна быть настройка для значений проскальзывания
Терминал хранит спред в каждом баре истории (поле spread у MqlRates)
там хранится минимальное(рекламное) значение спреда за бар. Соотв. и пользы от этого значения практически никакой
чтобы учитывать спред, надо брать тики и по ним внимательно смотреть. Размер спреда, частота тиков, ретурнсы, стабильность того,другого и третьего.
В большинстве случаев не стоит торговать с 23 до 2.30.