Интересная тема для многих: что будет нового в MetaTrader 4 и MQL4 - большие изменения на подходе - страница 56

 
MetaDriver:
В тестере?

чтобы в тестере на тиковых данных поймать проскальзывание, нужно задать примерное время задержки передачи данных между дц и клиентом (лаг). У каждого тика есть его время когда он произошёл до миллисекунды, например. В тестере если время выставления рыночного ордера + лаг>времени следующего тика то исполняем по ценам нового тика. Понятно, что частичное исполнение так не смоделируешь, там нужны данные по ликвидности.

p.s. одна из основ индустрии hft - колокейшен направлен на минимизацию этого лага. Люди платят миллионы баксов, чтобы разместить своё оборудование ближе к серверам биржи. Там счёт на микросекунды

 
MetaDriver:
C гепами понятно, а как тестер поможет увидеть проскальзывания?
Под каждую ТС своя кастомная история.
 
Avals:
чтобы в тестере на тиковых данных поймать проскальзывание, нужно задать примерное время задержки передачи данных между дц и клиентом (лаг). У каждого тика есть его время когда он произошёл до миллисекунды, например. В тестере если время выставления рыночного ордера + лаг>времени следующего тика то исполняем по ценам нового тика. Понятно, что частичное исполнение так не смоделируешь, там нужны данные по ликвидности.

Да, правильно.

+ Можно и уточнить во времени т.е.  лаг увеличивать во время выхода новостей (предварительно промониторив его на реале).

 
Avals:

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

Все знают, что в тестере MetaTrader5 есть режим произвольной задержки Справка по MetaTrader 5Тестер стратегийНастройки?

Произвольная задержка

Режим произвольных задержек предусмотрен для тестирования экспертов в условиях, приближенных к реальным. С момента отсылки приказа и до его исполнения цена может измениться. В зависимости от отклонения, установленного в ордере, может произойти его исполнение по текущей цене (если она в пределах отклонения) или реквотирование. Тестирование в данном режиме позволит экспертописателю правильно запрограммировать обработку подобных ситуаций.

Имитация задержки осуществляется для всех торговых запросов, отсылаемых из терминала (выставление ордеров, изменение стоп-уровней, и т.д.). Задержка исполнения осуществляется по следующему принципу: случайным образом выбирается число от 0 до 9, и на такое число секунд осуществляется задержка; если выбранное число равно 9, то случайным образом выбирается еще одно число из такого же диапазона и прибавляется к первому. Таким образом, вероятность задержки исполнения на 0-8 секунд составляет 90%, а вероятность задержки на 9-18 секунд составляет 10%.

 
Rosh:

Все знают, что в тестере MetaTrader5 есть режим произвольной задержки Справка по MetaTrader 5Тестер стратегийНастройки?

Это актуально только при наличии возможности тестировать на реальных тиках и то с нюансами (т.к. лаг иногда изменяется во времени).

 
Rosh:

Думаю, большинство н в курсе, что в тестере MetaTrader5 есть режим произволной задержки Справка по MetaTrader 5Тестер стратегийНастройки:

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

Произволная задержка - грубый инструмент. Серьезно тестируют только так:

Индикативная история (робот в тестере видит только ее - как в реале) + созданная под конкретную ТС своя кастомная история (тестер исполняет по ней).

При создании кастомной истории учитывается и LiveTime-цены (+ пинг), ликвидность (Level2 и какими объемами оперирует ТС) и т.д. И все равно идеального совпадение не добиться, хоть и можно значительно приблизиться. Тут просто тонкости нужно прочуствовать - позондировать реал своей ТС.

P.S. Заметьте, что после создания такой кастомной истории все равно обязательно дальше применить к ней фильтр. Поэтому такая кастомная история вполне может быть и в виде M1 HighBid+LowAsk. Т.е. тестировать по тиковой истории или Level2- истории далеко не обязательно (почти всегда). Надо из этой огромной истории создать только предварительную Execution-историю. А дальше по накатанной. 

 
hrenfx:

Произволная задержка - грубый инструмент. Серьезно тестируют только так:

Индикативная история (робот в тестере видит только ее - как в реале) + созданная под конкретную ТС своя кастомная история (тестер исполняет по ней).

При создании кастомной истории учитывается и LiveTime-цены (+ пинг), ликвидность (Level2 и какими объемами оперирует ТС) и т.д. И все равно идеального совпадение не добиться, хоть и можно значительно приблизиться. Тут просто тонкости нужно прочуствовать - позондировать реал своей ТС.

P.S. Заметьте, что после создания такой кастомной истории все равно обязательно дальше применить к ней фильтр. Поэтому такая кастомная история вполне может быть и в виде M1 HighBid+LowAsk. Т.е. тестировать по тиковой истории или Level2- истории далеко не обязательно (почти всегда). Надо из этой огромной истории создать только предварительную Execution-историю. А дальше по накатанной. 

Полагаю имеется ввиду только FOREX?

Т.к. на фьючерсах 1 тик (4-знак) = 10 тиков (5-знак в основном) на FOREX.

 
Если бы имелся в виду только FOREX - сделал бы уточнение.
 
hrenfx:

Произволная задержка - грубый инструмент. Серьезно тестируют только так:

Индикативная история (робот в тестере видит только ее - как в реале) + созданная под конкретную ТС своя кастомная история (тестер исполняет по ней).

При создании кастомной истории учитывается и LiveTime-цены (+ пинг), ликвидность (Level2 и какими объемами оперирует ТС) и т.д. И все равно идеального совпадение не добиться, хоть и можно значительно приблизиться. Тут просто тонкости нужно прочуствовать - позондировать реал своей ТС.

P.S. Заметьте, что после создания такой кастомной истории все равно обязательно дальше применить к ней фильтр. Поэтому такая кастомная история вполне может быть и в виде M1 HighBid+LowAsk. Т.е. тестировать по тиковой истории или Level2- истории далеко не обязательно (почти всегда). Надо из этой огромной истории создать только предварительную Execution-историю. А дальше по накатанной. 

это задача тестера. Перед тем как тестировать/оптимизировать создать необходимую кастомную историю в зависимости от того, что оптимизируется и типом ордеров, например. Чисто техническая сторона, которая м.б. выполнена оптимально автоматом. Думаю, что и MT так делает (подготовка данных истории) в рамках возможностей тестера