Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5" - страница 19

unreal
473
unreal  
Laryx:

В ваших рисунках бары не соответствуют тикам.

Если внутри бара М1 гэп - то генерация тиков в тестере - даст картину близкую к "гэповой", с большими скачками.  На вашем же графике - на тиках - огромный гэп, а на барах - никаких гэпов и близко нет. Был бы гэп - TR бара бы был не меньше тикового гэпа.

 

То есть, проблема, видимо, есть, но она не в генерации тиков. 

Где именно, на каких рисунках, бары не соответствуют тикам у меня ?


В посте https://www.mql5.com/ru/forum/1031/page18#comment_520781 на первой картинке пример привёл, для того чтобы было проще понять другим.

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


Скоро выложу видео, где генерированные тики в тестерах MetaTrader 5 и MetaTrader 4, сравниваются с реальными тиками внутри свечи M1.

Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5"
Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5"
  • www.mql5.com
Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5".
Alexei Anikin
322
Alexei Anikin  
Прошу прощение за вмешательство в ваши профессиональные обсуждения, но нигде не могу найти ответ на такой вопрос: Как тестер стратегий МТ5 моделирует спред (и вообще, учитывает его или нет). Вручную спред ввести нельзя. Если тестер подставляет реальный спред рынка во время тестирования, то тестировать советник нужно несколько раз в течение суток?
MetaQuotes
Админ
26448
Спред сохранен в кажом М1 баре.
unreal
473
unreal  

Вот для сравнения генерируемые тики и тики в реале на фьючерсе во время выхода статистики Non-farm Payrolls 6.09.2013г.


Свеча в 14:30 (время в MetaTrader 5) объёмом в 39 тиков, в альпари она равна 86 на ECN и 136 тиков на стандарт,

но это абсолютно не важно (кол-во тиков), т.к. принцип генерации тиков будет тот-же, просто тики будут идти плотнее.


В тестере MetaTrader 5 видно, что цена на этой свече монотонно, равномерно и без рывков 36 секунд повышается до максимума, затем идёт мелкий откат.

А на фьючерсе (биржевые тики) видно что цена резко, за доли секунды скакнула и далее уже пошла обычная торговля.


На других новостях/статистике с резкими скачками котировок принцип будет тот-же.

Эта свеча на GBPUSD D1.


Скриншоты в архиве.

Файлы:
8i7dn1e2.zip  265 kb
unreal
473
unreal  
Позже выложу в наглядном виде тики Dukascopy, alpari, GKFX.
Nikolay Demko
15463

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Бета версия MetaTrader 4 IDE, включающая в себя новый компилятор MQL4 и редактор

Urain, 2013.09.12 13:18

Вы наивно полагаете что торгуя на старших ТФ вы уходите от проклятия неверной генерации тиков, это не так. Пересечение close определённого уровня не зависит от ТФ. Оно пронизывает все таймфреймы. И на W1 close точно так же пересекает уровень как и на M1.

Вот вам пример:


Горизонтальные участки наилучшие точки для в открытия/закрытия (в плане исполнения), цена стоит, на рынке имеется достаточный объём который рынок постепенно выбирает (поэтому цена и стоит), риск получить реквот минимальный.

Но тестер сгенерирует этот участок как расчёску тиков (вверх вниз), поэтому в реале вы на любом ТФ достаточно уверенно откроетесь (если есть сигнал, например close пересекла линию индикатора), в тестере же на этих участках вы получите кучу ложняков и заплатите 8 спредов, а потом ещё через 100 тиков заплатите ещё 8 спредов. Вот так генерация ложных тиков убъёт нормальную ТС, а останутся весь мусор, и из него и придётся оптимизатору выбирать что вам предоставить в качестве победившей обезьяны.

ЗЫ кстати таких участков в реале великое множество.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Бета версия MetaTrader 4 IDE, включающая в себя новый компилятор MQL4 и редактор

Urain, 2013.09.12 14:13

Тики есть. Тики в реале генерируються по событию изменения состояния стакана.

То есть бывают тики четырёх видов, именился bid, изменился ask, изменилмя и bid и ask, и наконец небыло изменения прайсов но изменился объём в стакане.

Вот как раз четвёртый тип и даёт прямую линию, и как раз он и ещё изменения ask неадекватно генерируется тестером.


К прошлому посту: ... 

Вот так генерация ложных тиков убъёт нормальную ТС, а останутся весь мусор, и из него и придётся оптимизатору выбирать что вам предоставить в качестве победившей обезьяны.

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


Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Бета версия MetaTrader 4 IDE, включающая в себя новый компилятор MQL4 и редактор

Urain, 2013.09.12 14:21

Я сейчас не по примеру спрашиваю, вы когда пишите программу продумываете ведь возможные варианты.

Сейчас вопрос в адекватности моделирования в конкретных ситуациях. Я привёл ссылку на пример, но ситуация вполне может случиться на любом инструменте у любого брокера.

ЗЫ из 4-х ситуаций приводящих к генерации тика 2-е у вас обрабатываются неадекватно.

Из оставшихся двух, ситуация с изменением обоих прайсов (bid и ask) обрабатывается не всегда верно.

Так например ситуация с резким изменением цен приводит к появлению ложных прайсов.

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

тчк




unreal
473
unreal  

Чуть подправил советник для записи тиков тестера из статьи.

//+------------------------------------------------------------------+
//|                                                  Write_Ticks_mod.mq5 |
//|              Copyright Copyright 2010, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+

input datetime start = D'2013.09.06 14:29:00';
input datetime end   = D'2013.09.06 14:31:00';

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   MqlTick tick;
   datetime time=TimeCurrent();
//---
   SymbolInfoTick(Symbol(),tick);
   //Print(time,tick.bid);
   Print(time,", ",tick.bid,", ",tick.ask); // добавлена ask
//---
   if(time>end) ExpertRemove();
//---
  }


http://www.gkfx.ru/trade_specs/tick_history.html

http://www.dukascopy.com/swiss/russian/marketwatch/historical/

https://www.alpari.ru/ru/login/ (тики в личном кабинете),  http://ticks.alpari.org/


Все файлы + xlsx в прицепе

unreal
473
unreal  

Свеча в 14:30 (время в MetaTrader 5) объёмом в 39 тиков, в альпари она равна 86 на ECN и 136 тиков на стандарт,

но это абсолютно не важно (кол-во тиков), т.к. принцип генерации тиков будет тот-же, просто тики будут идти плотнее.


В тестере MetaTrader 5 видно, что цена на этой свече монотонно, равномерно и без рывков 36 секунд повышается до максимума, затем идёт мелкий откат.

А на фьючерсе (биржевые тики) видно что цена резко, за доли секунды скакнула и далее уже пошла обычная торговля.


На других новостях/статистике с резкими скачками котировок принцип будет тот-же.

https://www.mql5.com/ru/forum/1031/page19#comment_597854


Разница реальных тиков FOREX и фьючерса совсем небольшая т.к. есть арбитраж между ними и есть фильтрация и агрегация тиков на FOREX. 

+ При совершении реальных сделок задержка в исполнении ордеров различна, т.к. у некоторых фьючерсных брокеров все ордера хранятся на бирже и исполняются в несколько микросекунд в отличии от FOREX.

https://www.mql5.com/ru/forum/10454/page88#comment_584876


По этому-же и произвольная задержка (опция в тестере) не актуальна т.к. при генерации тиков тестера не учитывается точное время (миллисекунды, секунды) формирования максимумов или минимумов или откатов внутри свечи М1.

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

Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5"
Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5"
  • www.mql5.com
Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5".
Vladimir Karputov
Модератор
270497

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Пиши и зарабатывай на MQL5

fxsaber, 2017.09.18 18:40

История тиков в онлайне была собрана с помощью индикатора, описанного в статье Создание тиковых индикаторов.


Обе тиковые последовательности - из тестера и записанные в файл - представлены на графике. Зеленым цветом представлены тики, полученные в тестере, а синим цветом тики, полученные на торговом сервере MetaQuotes-Demo и записанные в файл индикатором.



Вы можете подвести указатель мыши к любому месту графика и посмотреть во всплывающей подсказке данные о каждом тике:

происхождение (Тестер или История);

время тика;

цена в тике.


На графике хорошо видно, что качество моделирования тиков в тестере клиентского терминала MetaTrader 5 позволяет проводить адекватное тестирование экспертов на исторических данных.

https://www.mql5.com/ru/articles/75

А где в статье этот график?


Denis Kirichenko
12906

Прошу уточнить значение термина "размах свечи".