| / | Форум |
|
atser
25.02.2007 18:32
Забавно :) У меня эксперт на демо-счете открыл позицию, к примеру 22.02.07… я решил запустить тестер и проверить, а будет ли эта самая позиция открыта экспертом на истории.. Оказалось, что нет. Эксперт на истории эту сделку не произвел. Никакие настройки не менялись. Как так может быть? Реальные данные, которая на следующий день стали историей вовсе не вошли в эту историю. Получается разные данные? Если так, то что толку, что мы на истории тестируем и оптимизируем советники, в итого результаты оптимизации и выводы, которые мы делаем при тестирование будут не правдоподобны.. В чем тут дело? |
|
Книга "Forex: от простого к сложному", И.В. Морозов и Р.Р. Фатхуллин Эта книга поможет торгующим на Форексе разобраться в азах функционирования валютного рынка и в некоторых его тонкостях. Кроме того в ней содержится описание фундаментального и технического анализов, без знания которых невозможно построить прибыльную торговую систему. Книга содержит и описание работы с информационно-торговым терминалом MetaTrader 4. |
|
Mathemat
25.02.2007 18:51
Каков вопрос, таков и ответ. Почитай здесь же, скажем, в http://articles.mql4.com/ru/ , статьи об экспертах и тестировании торговых систем, и многое
станет ясно. Здесь есть не одна причина, по которой так может
быть. Есть настройки эксперта (какие точки тестируются, в каком
режиме). Есть особенности таких "индикаторов" как ZigZag как
их перерисовываемость. Есть просто нарушения в логике эксперта,
которые не видны явно.
|
|
Rjkley
25.02.2007 23:06
Бывает хуже, бывает лучше, бывает один в один. Все зависит от
советника и методики его тестирования.
Есть инструмент. Например, топор. Мастер сможет с его помощью и карандаш очинить и изразцы вырезать. Обыватель-же - только покалечиться. :( Тут головой думать надо... |
|
atser
26.02.2007 11:40
Тык, я и думаю головой.... |
|
xeon
26.02.2007 12:12
atser писал (а): Mathemat в принципе все уже объяснил, ошибка в коде эксперта, например
используемый индикатор в эксперте может "заглядывать в будующее
истории" , а в текущем времени "будущего еще нет", ну и
такдалее, в общем нужно разбиратся с экспертом, а что-бы лучьше
понимать процессы происходящие в момент тестирования, стоит
почитать здесь 'Тестирование экспертов в клиентском терминале MetaTrader 4. Взгляд
изнутри' и здесь 'Мой первый "грааль"' , 'Рекомендации по не использованию тестера стратегий MetaTrader 4'. В общем на эту тему уже очень много написано.... Тык, я и думаю головой.... |
3176 |
Renat
26.02.2007 12:44
xeon писал (а): А Вы можете привести ссылку на MQL4 код индикатора, который заглядывает
в будущее и позволяет использовать это в эксперте?Mathemat в принципе все уже объяснил, ошибка в коде эксперта, например используемый индикатор в эксперте может "заглядывать в будующее истории" , а в текущем времени "будущего еще нет", ну и такдалее, в общем нужно разбиратся с экспертом, а что-бы лучьше понимать процессы происходящие в момент тестирования, стоит почитать здесь 'Тестирование экспертов в клиентском терминале MetaTrader 4. Взгляд изнутри' и здесь 'Мой первый "грааль"' , 'Рекомендации по не использованию тестера стратегий MetaTrader 4'. В общем на эту тему уже очень много написано.... |
|
xeon
26.02.2007 16:54
Renat писал (а): xeon писал (а): А Вы можете привести ссылку на MQL4 код индикатора, который заглядывает
в будущее и позволяет использовать это в эксперте?Mathemat в принципе все уже объяснил, ошибка в коде эксперта, например используемый индикатор в эксперте может "заглядывать в будующее истории" , а в текущем времени "будущего еще нет", ну и такдалее, в общем нужно разбиратся с экспертом, а что-бы лучьше понимать процессы происходящие в момент тестирования, стоит почитать здесь 'Тестирование экспертов в клиентском терминале MetaTrader 4. Взгляд изнутри' и здесь 'Мой первый "грааль"' , 'Рекомендации по не использованию тестера стратегий MetaTrader 4'. В общем на эту тему уже очень много написано.... у меня есть такой эксперт, могу выслать на емайл |
|
YuraZ
26.02.2007 18:03
Renat писал (а): xeon писал (а): А Вы можете привести ссылку на MQL4 код индикатора, который заглядывает
в будущее и позволяет использовать это в эксперте?Mathemat в принципе все уже объяснил, ошибка в коде эксперта, например используемый индикатор в эксперте может "заглядывать в будующее истории" , а в текущем времени "будущего еще нет", ну и такдалее, в общем нужно разбиратся с экспертом, а что-бы лучьше понимать процессы происходящие в момент тестирования, стоит почитать здесь 'Тестирование экспертов в клиентском терминале MetaTrader 4. Взгляд изнутри' и здесь 'Мой первый "грааль"' , 'Рекомендации по не использованию тестера стратегий MetaTrader 4'. В общем на эту тему уже очень много написано.... Если есть такая возможность то это хорошо :-) Ренат а будет ли работать вот такой способ допустим текущий бар 0-й D1 на 02.02.2006 в переменные datetime ltDatCurBeg, datetime ltDatCurEnd положит 03.02.2006 - 10.02.2006 // Получим по указанному диапазону HIG double PeriodBarsHIG( string sSYMBOL, datetime ltDatCurBeg, datetime ltDatCurEnd ) { int iBarsDayBeg = iBarShift(sSYMBOL, 0 , ltDatCurBeg,false ); // индекс первого бара int iBarsDayEnd = iBarShift(sSYMBOL, 0 , ltDatCurEnd,false ); // индекс последнего бара int indxHIGDay = iHighest( sSYMBOL, 0 , MODE_HIGH, (iBarsDayBeg - iBarsDayEnd) , iBarsDayEnd) ; // получаем индекс HIG бара double HIGDay = iHigh(sSYMBOL,0, indxHIGDay ); // Получим HIG максимального бара return(HIGDay ); } // Получим по указанному диапазону LOW double PeriodBarsLOW( string sSYMBOL,datetime ltDatCurBeg, datetime ltDatCurEnd ) { int iBarsDayBeg = iBarShift(sSYMBOL, 0 , ltDatCurBeg,false ); // индекс первого бара int iBarsDayEnd = iBarShift(sSYMBOL, 0 , ltDatCurEnd,false ); // индекс последнего бара int indxLowDay = iLowest( sSYMBOL, 0 , MODE_LOW, (iBarsDayBeg - iBarsDayEnd) , iBarsDayEnd) ; // получаем индекс HIG бара double LOWDay = iLow(sSYMBOL,0, indxLowDay ); // Получим LOW максимального бара return(LOWDay ); } если это не работает граальщикам и подгонщикам это отбивает охоту дурить народ мне это надо было для одного эксперта которому фактически все равно - т е не подгонка а ускорение теста одно дело 300 отложек другое 20 - 50 - 100 он просто лепит отложки - просто хотелось бы использовать этот вариант для ускорения тестирования в настоящий момент приходится постоянно считать и выставлять слишком много отложек - потом удалять - в общем время тестирования увеличивается |
3176 |
Renat
26.02.2007 19:12
YuraZ писал (а): Ренат а будет ли работать вот такой способ допустим текущий бар 0-й D1 на 02.02.2006 в переменные datetime ltDatCurBeg, datetime ltDatCurEnd положит 03.02.2006 - 10.02.2006 Вы не можете запросить данные будущих периодов таким образом, так как тестер не позволит этого сделать. Вы можете обратиться к любому таймфрейму используемого символа и тестер абсолютно точно на 100% моделирует цены Open/High/Low/Close этих таймфреймов. Объем только примерно моделируется. То есть, сидя на М5 можно запросить данные Daily и получить абсолютно верные значения бара OHLC на дейли. Вы не получите финальный High/Low/Close дня, пока не дойдете в моделировании до конца дня. Есть конечно возможность заглянуть путем прямого чтения *.HST файлов, но это уже другая тема. Мы специально позаботились, чтобы штатным образом нельзя было заглянуть в будущее. |
|
Mathemat
26.02.2007 22:20
Об "индикаторах", заглядывающих в будущее. ZigZag ("стандартный" от MQ) на истории выглядит так, как он выглядел
бы, если бы в момент формирования собственного излома наперед
знал несколько баров в недалеком будущем. По-моему, об этом известно
всем, кто хотя бы некоторое время наблюдал за его поведением
он-лайн. Это и есть то же самое, что "перерисовываемость"
этого "индикатора". nen на ониксе вроде бы писал о неперерисовываемом
ZigZag'е, кстати, и на него было бы очень любопытно посмотреть.
Поэтому в тестере сигналы системы, делающей входы/выходы на изломах ZigZag'a, будут на истории великолепны, а он-лайн все будет не так. Правильное тестирование такой стратегии должно быть основано на полном пересчете этого "индикатора" с нуля для каждого заданного момента времени в прошлом, а не на статичных его значениях, полученных из функции iCustom(..., "ZigZag",...) . Ну, может, и не на полном, но все же существенном. Renat писал (а): Вообще говоря, понятно, почему ZigZag включен в стандартную поставку только и именно как пользовательский "индикатор". |
33780 |
Rosh
26.02.2007 22:29
Mathemat писал (а): Об "индикаторах", заглядывающих в будущее. ZigZag ("стандартный" от MQ) на истории выглядит так, как он выглядел бы, если бы в момент формирования собственного излома наперед знал бы несколько баров в недалеком будущем. По-моему, об этом известно всем, кто хотя бы некоторое время наблюдал за его поведением он-лайн. Это и есть то же самое, что "перерисовываемость" этого "индикатора". Поэтому в тестере сигналы системы, делающей входы/выходы на изломах ZigZag'a, будут на истории великолепны, а он-лайн все будет не так. Правильное тестирование такой стратегии должно быть основано на полном пересчете этого "индикатора" с нуля для каждого заданного момента времени в прошлом, а не на статичных его значениях, полученных из функции iCustom(..., "ZigZag",...) . Ну, может, и не на полном, но все же существенном. Renat писал (а): Вообще говоря, понятно, почему ZigZag включен в стандартную поставку только и именно как пользовательский "индикатор". Вот тут я промолчать не могу . Все вопросы снимутся после прочтения этих тем: Снова про индикаторы в Экспертах - вопрос к разработчикам Когда на самом деле срабатывает эксперт? Обратите внимание на дату топиков -больше года прошло, а мифы все еще живы. |
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий