Как в алготрейдинге спастись от проскальзываний - страница 3

 
JRandomTrader #:
Но сколько там подводных граблей! ))

Если торговля через отложенные ордера, то граблей нет: OrderSend только на выставление отложки, все остальное (модификация отложки и SL/TP позиции) - OrderSendASync без каких-либо проверок.

Сам так делаю.

 
fxsaber #:

Если торговля через отложенные ордера, то граблей нет: OrderSend только на выставление отложки, все остальное (модификация отложки и SL/TP позиции) - OrderSendASync без каких-либо проверок.

Сам так делаю.

гемор

алготрейдингу отложки не надо

 
lynxntech #:

только 2 

не скальпировать, и не


скальперы всегда закончат плохо.

Вы неправы, я более 10 лет торгую в алгоскальпинге через скальперы собственной выпечки. Пока жив-здоров, чего и всем Ручечникам желаю. ))
 
Renat Akhtyamov #:
fxsaber
fxsaber о том, что отложки у нормальных брокеров не проскальзывают. Но есть такой «лучший брокер в Азии по версии журнала Мурзилка» Insta****x, у которого часто ордера нельзя закрыть ни программно, ни рукими, ни ногами! Иногда даже на ТП и СЛ не реагирует! Я на нем торгую только на бонусном счете, который не жалко убить.
 
Aleksey Vyazmikin #:
Начните с измерений:
1. Пинг.
2. Время на регистрацию заявки.
3. Время на фактическое исполнение заявки с момента регистрации.
4. Время на подтверждение заявки.
5. Время на расчёт логики советника.

На пункт 2 (если существенно превышает пинг) и пункт 3 повлиять не сможете, а часто именно на их стороне причина проскальзывания. Если это так, то ищите лучший вариант обслужвания.

Вопрос - как вы отличите п.2 от п.3? Пинг до сервера можно измерить, зная его URL, честный брокер всегда его скажет в ТП. Вот два моих скрипта, правда под МТ4, но переделать на пятерку пол-часа времени (или отдать ИИ).

OpenOrderTime
OpenPendingOrderTime

 
Alexey Volchanskiy #:

Вопрос - как вы отличите п.2 от п.3? Пинг до сервера можно измерить, зная его URL, честный брокер всегда его скажет в ТП. Вот два моих скрипта, правда под МТ4, но переделать на пятерку пол-часа времени (или отдать ИИ).

OpenOrderTime
OpenPendingOrderTime

С пунктом 2 действительно не просто - особенно ретроспективно. Была идея анализировать лог - время отправки заявки и время регистрации заявки (подтверждения регистрации) зафиксировать и уменьшить на двойной пинг, но это всё не очень надёжно.
С пунктом 3 всё просто для рыночных ордеров - есть время ордера и время сделки - дельта между ними даст время исполнения.
Для стоп ордеров можно рассчитать по тикам время, когда должен был сработать ордер и определить время сделки - дельта даст время исполнения.
 
ttt480 #:
А что означает "все приказы только "асинхронные" ?

здесь почитайте ENUM_ORDER_TYPE_FILLING

https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties#enum_order_type_filling

можно ограничить проскальзывание но будут реквоты, как ранее уже писалось

Документация по MQL5: Свойства ордеров / Константы, перечисления и структуры
Документация по MQL5: Свойства ордеров / Константы, перечисления и структуры
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с...
 

так человек вроде про роботизированую торговлю спрашивает / при чем здесь руки ?

в нормальном советнике должна быть настройка для значений проскальзывания

 
Добавлю то, что в теме пока не прозвучало: спред и проскальзывание полезнее не «побеждать», а сначала измерить и заложить в бюджет стратегии.Терминал хранит спред в каждом баре истории (поле 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 это минус на реальном счёте. Эффект реальный — и при этом неторгуемый.К совету «торгуйте алгоритм, где проскальзывание не играет роли» это и есть количественный критерий: не «играет / не играет» на глаз, а среднее движение сделки против измеренных издержек. Если отношение меньше трёх-четырёх, я такую систему на реальный счёт не ставлю независимо от красоты бэктеста.
 
Eldor Tuychiboyev #:
Терминал хранит спред в каждом баре истории (поле spread у MqlRates)

там хранится минимальное(рекламное) значение спреда за бар. Соотв. и пользы от этого значения практически никакой

чтобы учитывать спред, надо брать тики и по ним внимательно смотреть. Размер спреда, частота тиков, ретурнсы, стабильность того,другого и третьего.

В большинстве случаев не стоит торговать с 23 до 2.30.