Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Размести программу в Маркете - это 7 миллионов потенциальных клиентов
o_O
Модератор
23615
o_O 2013.06.10 18:47 

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

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

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

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

---

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

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

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

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

---

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


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


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

---

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

---

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

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

пример

---

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

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

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

---

Итого.

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

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

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

Sergey Chalyshev
4274
Sergey Chalyshev 2013.06.10 19:34  
sergeev:

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

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


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

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

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

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

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

o_O
Модератор
23615
o_O 2013.06.10 19:38  
Serj_Che:

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

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

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

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

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

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


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

Viktor Fateev
286
Viktor Fateev 2013.06.10 20:30  

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

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

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

Опыты с МетаТрейдер 5 в "Открытие"
Опыты с МетаТрейдер 5 в "Открытие"
  • www.mql5.com
Опыты с МетаТрейдер 5 в "Открытие".
Sergey Chalyshev
4274
Sergey Chalyshev 2013.06.10 20:41  

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

ask

Файлы:
Ask.mq5 4 kb
o_O
Модератор
23615
o_O 2013.06.10 20:49  
FateevVV:

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

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

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


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

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

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


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

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

hrenfx
3672
hrenfx 2013.06.10 21:01  
sergeev:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

hrenfx
3672
hrenfx 2013.06.10 21:16  

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

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

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

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

o_O
Модератор
23615
o_O 2013.06.10 21:37  
hrenfx:

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

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

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

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

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

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


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

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

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


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

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

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

hrenfx
3672
hrenfx 2013.06.10 21:47  

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

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

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

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

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

/ /12345
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий