Тестер и фьючерсы

 

Довелось мне на прошлой неделе гонять тестер на фьюче РТС

к сожалению обнаружилось, что тестер не умеет работать с биржевыми инструментами.

Покопавшись увидел, что по инструменту RTS в течении дня спред в истории нулевой, а в тестере - нет.

Это приводит к очень неприятному моменту - а именно открытие Бай позиций выше Хай бара. Что по сути является нонсенсом для работы биржи. Позиция открылась по несущуствующей цене... ;)

---

На фьюче бар строится по Ласт цене.  И суть Ласт цены должна быть для тестера - открытие позиции именно по ней.

Но из-за того, что тестер открывает Бай позицию по сгенерированной Аск цене, а Аск цена генерируется на основании спреда + Бид, а не как Ласт цена,

то получается, что на данный момент тестер - непригоден к работе на всех интрументах, у которых главную роль играет Ласт цена. А не спред ДЦ.

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

---

Покажу на примере одного Бай трейда (синяя стрелка) в тестере.


Спред в тесте для бара был 60 пунктов (в момент открытия Бай позиции - Бид была на цене открытия бара, а Аск расчиталась намного выше Хай = бид+60).
В реале он был =0, а 60 пунктов - так решил тестер. так как его последний известный ненулевой спред был = именно 60 пунктов


Проблема была бы менее ощутимой, если бы спред был равен хотя бы шагу цены инструмента в ситуациях с нулевым спредом,
но сейчас в тестере он ~ 0,2% текущей цены, что ну очень много даже для низковолатильных периодов фьючерса.

---

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

---

Покопавшись в проблеме спреда обнаружил, что на инструменте спред практически большинство времени = 0

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

пример

---

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

Смириться с генерацией тиков еще можно... но вот с такими выпадами на "нерыночные" котировки нельзя.

У тестера изначальный просто некорректный подход к генерации тиковой истории. Если бы МК хранило не спреды, а цену Аск на равне с ценой Бид, то не было бы таких проблем.

---

Итого.

суть моего поста информативно-исследовательская. Обращена к разработчикам.  В СД от них мало чего можно добиться, так как заявки переправляются на конкретных людей, но на форуме она доступна им всем,

Просьба высказаться их по этому вопросу. Обрисовать в перспективе как будет решена данная проблема непригодности.

Какие ждут изменения хистори базы и будет ли МТ5 иметь алгоритм тестирования инструментов с Ласт ценой (это ведь касается и обычных валютных инструментов с STP провайдером).

 
sergeev:

Довелось мне на прошлой неделе гонять тестер на фьюче РТС

к сожалению обнаружилось, что тестер не умеет работать с биржевыми инструментами.


Странно слышать от вас подобные высказывания.

Подобные темы звучали много лет назад, за это время вы написали много статей и скриптов, за что вам большое спасибо.

МТ5 тестер не способен на это.

Будем подождать МТ6, может там что то изменится.

P.S. или писать свой тестер.

 
Serj_Che:

Странно слышать от вас подобные высказывания.

самому странно :)

просто понадеялся на генерацию тиков. Зря. Для инструментов с Ласт исполнением тестер непригоден из за некорректной Аск.

МТ5 тестер не способен на это.

в СД была сказана одна оптимистическая фраза

Мы работаем над этим. В ближайшем билде изменений, к сожалению, не будет. Пожалуйста подождите.


И дабы не засорять ветку в СД ликбезом "а что же все таки делается" - прошу разработчиков высказаться здесь.

 

По данной проблеме я уже делал комментарий, вот здесь https://www.mql5.com/ru/forum/11297/page17 ("Вот пример некорректной работы тестера при тестировании простой системы пересечения 2-х скользящих средних.").

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

С нетерпением жду разрешения данной проблемы от разработчиков терминала. 

Опыты с МетаТрейдер 5 в "Открытие"
Опыты с МетаТрейдер 5 в "Открытие"
  • www.mql5.com
Опыты с МетаТрейдер 5 в "Открытие".
 

Кто нибудь видел на евре спред в 100 пунктов? В тестере он есть.

ask

Файлы:
Ask.mq5  4 kb
 
FateevVV:

По данной проблеме я уже делал комментарий, вот здесь https://www.mql5.com/ru/forum/11297/page17

совершенно верно!

вот ваш скрин от туда


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

Но ваше предложение про "самому задавать спред" - не решает проблемы.

ведь не в спреде дело, а в том, что ордера должны исполняться по Ласт цене.  И спред здесь не играет роли. То есть спред не есть то, что движет Бай позициями.


У вас на скрине символ РТС залился по несуществующей цене.  Это просто нереально. 

И разработчики, обратите внимание, что таких аут позиций очень много.

 
sergeev:

Это приводит к очень неприятному моменту - а именно открытие Бай позиций выше Хай бара. Что по сути является нонсенсом для работы биржи. Позиция открылась по несущуствующей цене...

Не увидел противоречия.

На фьюче бар строится по Ласт цене.  И суть Ласт цены должна быть для тестера - открытие позиции именно по ней.

Зачем бары строить по Ласт-цене? Тестить по ласт-цене - это же странно очень. Это просто кого-то исполнили по ласт-цене на истории. Причем тут тестер?

тестер - непригоден к работе на всех интрументах, у которых главную роль играет Ласт цена. А не спред ДЦ.

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

У тестера изначальный просто некорректный подход к генерации тиковой истории. Если бы МК хранило не спреды, а цену Аск на равне с ценой Бид, то не было бы таких проблем.

Пишем свой тестер или из MT4-тестера делаем наиболее точный. Если же говорить о мультивалютном тестировании, то там сплошной арбитражный грааль при генерации тиков (в любом тестере). Главное, отдавать себе отчет, что и почему происходит.
 
hrenfx:

Не увидел противоречия.

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

Зачем бары строить по Ласт-цене? Тестить по ласт-цене - это же странно очень. Это просто кого-то исполнили по ласт-цене на истории. Причем тут тестер?

при том, что вам достаточно открыть любой фьючерс в МТ5 и посмотреть как строится бар.

также рекомендую прочитать что такое ласт цена на фьючерсе. На первой странице ветки Справочника.

подробно популярно.

 

Бары можно строить вообще по любой цене, но для тестера важны только Bid и Ask-данные. Ласт вообще не нужен.

Если вы про этот ликбез, то это ужасный копипаст. Человек, видимо, писал, плохо себе представляя.

SellLimit не исполняется по ласту. Здесь вопрос курицы и яйца. Последовательность же простая: исполняется SellLimit и после этого формируется ласт с его ценой исполнения.

Представьте просто, что цены Bid и Ask ходят, но ласт-данных нет вообще (нет сделок). Неужели это говорит тестеру о том, что нельзя совершить сделку?

 
hrenfx:

Бары можно строить вообще по любой цене, но для тестера важны только Bid и Ask-данные. Ласт вообще не нужен.

вы немного не туда смотрите. я же не спорю что есть, а чего нет.

моя претензия - к спреду. и к тому что приводит его подмена нереально большим значением.

Последовательность же простая: исполняется SellLimit и после этого формируется ласт с его ценой исполнения.

вот именно! но все дело в том, что яйца-цены после селлимитной курицы - никак не появляются, а должны бы.

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


Я же вроде не косноязычен :)

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

Вы наверно не открывали то что я вам сказал сделать - посмотрите как строится бар на инструменте РТС с Ласт ценой. И вам станет понятно о чем я говорю.


Представьте просто, что цены Bid и Ask ходят, но ласт-данных нет вообще (нет сделок).

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

но эта теория не относится к вопросу.

 

Я просто не понял, какому умнику пришло в голову строить бары по ласт-цене. Почему нельзя было строить бары, как это принято на форе: по биду и аску - не понятно.

Если по ласт-цене бары строят брокеры - дать им по башне, т.к. значит, они ничего не понимают в тестировании стратегий.

Написал, как может использоваться ласт-цена, но это никакого отношения к тестеру не имеет.

Вообще, получается так, что кто-то плохо подумав сделал что-то неправильно, а затем все остальные подхватили.

Еще раз, в тестере ласт-данные никак не должны участвовать. Т.е. сам тестер вообще не должен никак строить ласт-бары. Все, что у него должно быть - это бид и аск-бары, если идет речь о цВР на основании баров.

Причина обращения: