Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5" - страница 20
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Бета версия 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.
тчк
Чуть подправил советник для записи тиков тестера из статьи.
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 в прицепе
Свеча в 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:
Автор: MetaQuotes Software Corp.
У меня есть индикатор для микроскальпинга. Он дает очень хорошие результаты на таймфрейме Tester M1 - каждый тик
Когда он переходит на живые данные, результаты оказываются плохими!
После того, как я бился головой об стену в течение нескольких дней, я пришел к выводу, что разница обусловлена этим"алгоритмом генерации тиков".
Есть предложения?
Например, можно ли фильтровать данные в реальном времени? Если да, то как?
Спасибо за помощь.
ugo
Привет, ребята, думаю, мне нужна помощь.
У меня есть индикатор для микроскальпинга. Он дает очень хорошие результаты на таймфрейме Tester M1 - каждый тик
Когда он переходит на живые данные, результаты оказываются плохими!
После того, как я бился головой об стену в течение нескольких дней, я пришел к выводу, что разница обусловлена этим"алгоритмом генерации тиков".
Есть предложения?
Например, можно ли фильтровать живые данные? Если да, то как?
Спасибо за помощь.
ugo
Скальперы (полагающиеся на тиковые данные), вероятно, не могут быть протестированы в Тестере стратегий.
Если вы не используете никаких дополнительных индикаторов, вы можете выловить автоматически сгенерированные тики из сохраненных баров истории, выбросить их и вставить тики для той же минуты из предыдущей сохраненной тиковой ленты.
Бинарный тиковый фид, сохраненный на диск, занимает около 50 МБайт для одной валюты за неделю, поэтому я думаю, что тестировать можно только небольшие периоды (если вы действительно должны сохранять свои собственные тиковые данные и не можете получить тиковые данные из других источников).
Но этого может быть достаточно для проверки ваших алгоритмов.
Удачи, ugo58
Если вы не используете никаких дополнительных индикаторов, вы можете выловить автоматически сгенерированные тики из сохраненных баров истории, выбросить их и вставить тики для той же минуты из предыдущей сохраненной тиковой ленты.
Бинарный тиковый фид, сохраненный на диск, занимает около 50 МБайт для одной валюты за одну неделю, поэтому я думаю, что тестировать можно только небольшие периоды (если вы действительно должны сохранять собственные тиковые данные и не можете получать их из других источников).
Но этого может быть достаточно для проверки ваших алгоритмов.
Удачи, ugo58
Привет, спасибо всем!
Не уверен, что понимаю: " ... вставьте тики для той же минуты". Вы имеете в виду вручную посмотреть, каковы были реальные значения тиков в то же время открытия и закрытия или есть способ запустить тестер стратегий из сохраненной на диске истории? Я понял из слов angevoyageur, что это невозможно.
ugo
Верно, тестер стратегий MQL5 не позволяет использовать историю, отличную от цен, предоставляемых брокером. Но если вы программируете свой собственный советник, вы можете справиться с этим, если вам не нужны готовые индикаторы.
На новом MQL4, насколько я понимаю, можно написать код, идентичный MQL5. Если вы позаботитесь о другом способе обработки ордеров, то сможете протестировать свой советник на предоставленной вами истории.
ugo58