4 нюанса тестирования советников в терминале MetaTrader 4, о которых знают не все трейдеры
[info_block align=»right»]Обратите внимание, что качество истории котировок у разных форекс брокеров отличаются, что может вызвать серьезные расхождения в результатах тестирования одного советника на счетах от разных брокеров[/info_block]
В условиях современного трейдинга использование в торговле форекс советников уже давно не выглядит какой-то экзотикой. Практически каждый день появляются новые платные и бесплатные торговые роботы, которые впечатляют доходностью и вызывают желание быстренько заработать. Однако, ставить эксперта на торговый счет без проверки – сомнительная затея, ведущая к «неожиданным» потерям в потенциале. Поэтому рекомендуем начать работу с роботом с тестирования.
Все, что нужно знать о том, как правильно тестировать торгового советника в тестере стратегий терминала MetaTrader 4 – в инструкции от экспертов журнала Фортрейдер.
С чего необходимо начинать тестирование советника?
Торговый робот проверяют на истории, поэтому в первую очередь необходимо скачать котировки нужной вам валютной пары. Для этого следует в меню «Сервис» найти вкладку «Архив котировок» или просто нажать клавишу F2.
Далее выбираем необходимую валютную пару и таймфрейм, кликаем по ним два раза левой кнопкой мышки и нажимаем «Загрузить».
Обратите внимание, что качество истории котировок у разных форекс брокеров отличаются, что может вызвать серьезные расхождения в результатах тестирования одного советника на счетах от разных брокеров.
Выбираем в тестере стратегий торгового робота (1), валютную пару (2), тип моделирования (3), таймфрейм (4), спред (5) и настройки советника (6).
Не забудьте о размере спреда, который установлен для валютной пары вашим брокером. Дело в том, что в тестере стратегий по умолчанию установлен текущий спред. Если вы этого не сделаете, то можете получить совершенно фантастические результаты, особенно, если тестируете эксперта в выходной день.
Какой тип моделирования выбрать?
[info_block align=»right»]Тестируете по всем тикам, потом по контрольным точкам, потом по ценам открытия и смотрите разницу.[/info_block]
Тестер стратегий предлагает на выбор три типа моделирования:
- Все тики;
- Контрольные точки;
- По ценам открытия.
«Все тики» — самый точный из стандартно-доступных типов моделирования, но он же и самый долгий. Некоторые советники можно тестировать без потери точности по контрольным точкам или по ценам открытия. Для этого в алгоритме должны быть заложены условия открытия сделки, начиная с нового бара.
Если вы не сильно разбираетесь в советнике, который тестируете, то имеет смысл подойти к вопросу экспериментальным путем. Тестируете по всем тикам, потом по контрольным точкам, потом по ценам открытия и смотрите разницу. Если она небольшая, то можно оптимизировать советник наиболее быстрым методом, а потом проверять по всем тикам. Если разница существенная, то можно грубую оптимизацию проводить быстрым методом, а тонкую — по всем тикам. Если разница совсем большая, то делать нечего, и придется оптимизировать долго и упорно по всем тикам.
Есть класс советников, в которых рабочий таймфрем прописан в настройках, у них результаты тестирования не зависят от выбранного периода в тестере. Такие роботы, как правило, можно тестировать практически без потери точности на контрольных точках. Получается намного быстрее, чем по всем тикам, а результат практически тот же самый.
Опять-таки, оптимизируем быстрым методом, найденный лучший вариант проверяем по всем тикам и убеждаемся, что все в порядке.
На какие параметры нужно обратить внимание при оптимизации советника?
Количество сделок
В первую очередь обращаем внимание на количество сделок. Желательно, чтобы их было не менее 150, иначе оптимизация теряет всякий смысл, поскольку возникает эффект «подгонки» результатов.
Если же сделок меньше 150, то необходимо увеличить промежуток времени тестирования, чтобы получить полную картину.
Прибыль и просадка
[info_block align=»right» linkText=»Зарабатываем с Мартингейлом! 8 правил торговли форекс экспертами с повышенным риском» linkUrl=»https://fortrader.org/learn/forex-trader/zarabatyvaem-s-martingejlom-8-pravil-torgovli-foreks-ekspertami-s-povyshennym-riskom.html» imageUrl=»http://files.fortrader.org/uploads/2016/11/invest-money.jpg»]Заработок на советнике по принципу Мартингейла возможен. 8 правил о том, как снизить риск от торговли «опасным» роботом.[/info_block]
Во вторую очередь нас будет интересовать соотношение прибыли к просадке.
Популярным параметром для отбора результатов оптимизации является коэффициент восстановления, который представляет собой простое отношение: прибыль / максимальная просадка. Его несложно вычислить, поделив столбец «Прибыль» на столбец «Просадка» в долларах. Но вот отсортировать результаты оптимизации по этому параметру тестер так просто не позволяет.
К счастью, это несложно поправить, если у вас есть доступ к исходному коду советника. Достаточно в конец кода любого робота приписать следующие строчки:
double GetRecoveryFactor( void )
double MaxDD = TesterStatistics(STAT_EQUITY_DD);
Res = TesterStatistics(STAT_PROFIT) / MaxDD;
double OnTester( void )
и перекомпилировать его. После этого при оптимизации в тестере появится новая колонка «Результат OnTester». Она будет содержать коэффициент восстановления. Щелкнув по шапке этой колонки, можно отсортировать результаты оптимизации по данному параметру.
Что делать с ошибками рассогласования?
Часто случается, что в отчете о тестировании торгового эксперта тестер стратегий в строке «Качество моделирования» указывает значение n/a и сообщает об ошибках рассогласования графиков.
Откуда берутся эти ошибки? Самой распространенной причиной является расхождение между котировками, которые получены от брокера напрямую, и котировками, загруженными из архива.
Как устранить это расхождение? Существует очень простой способ. Необходимо удалить историю котировок по необходимой валютной паре через «Меню Файл» — «Открыть каталог данных» – History – «Имя торгового сервера». Стираем все файлы EURUSD*.hst.
После удаления файлов перезапускаем терминал и загружаем котировки заново, как это было описано выше.
После проделанных процедур в большинстве случаев ошибки рассогласования графиков исчезают, а качество моделирования вырастет до 90%.
Итого
Таким образом, тестирование и оптимизация торговых советников – дело совсем несложное, хотя требует больших временных затрат и знания тонкостей. Надеемся, что эта статья позволит вам быть с тестером стратегий «на ты», эффективно тестировать форекс экспертов и получать прибыль на валютном рынке.
Похожие статьи
- Практика торговли кросс-курсами. От анализа до закрытия сделки
- Нюансы торговли с индикатором Ишимоку
- Конец эпохи ручного трейдинга или как организованы высокочастотные стратегии
- Арбитраж на криптовалютах – пока еще эффективная торговая стратегия
Fortrader Suite 11, Second Floor, Sound & Vision House, Francis Rachel Str. Victoria Victoria, Mahe, Seychelles +7 10 248 2640568
Комментарии (2)
А ничего что котировки после удаления будут загружены с сервера метаквот и будут очень сильно отличаться от данных полученных от брокера и после перезалива этот тестер можно смело выкинуть в ведро? вы этот момент почему-то упускаете.
Виктор :
Здравствуйте! Спасибо Вам за информацию о тиковом тестировании робота. Но у меня вопрос такого плана. Если я скачаю тики из архива котировок MQL4 и провожу тестирование в таймфрейме H1(часовом), то не будет ли отличаться время открытия бара от серверного времени брокера? Мне это важно знать, так как открытие ордера в моём роботе привязано ко времени открытия бара и со временем начала торговых сессий.
Заранее благодарен, если получу от Вас разъяснение по моему вопросу.
PS: может у Вас есть описание кода, который можно будет внести в тело советника для устранения проблемы, если она, конечно, существует.
Тестирование советников в МТ4 с качеством 99%.
Предлагаем внимаю посетителей нашего сайта обновленный вариант тестирования советников с качеством 99%, который бесплатен и стал доступен для применения в новых билдах (от 765 и выше) терминала МетаТрейдер 4. Оценить надёжность и прибыльность используемого советника, до того, как он успеет слить ваш депозит, можно, осуществив его качественное тестирование. На сайте AvtoForex.ru мы уже писали про возможности платного и бесплатного тестирования Форекс стратегий и экспертов. Одной из таких возможностей была проверка советника при помощи программы TickStory. Однако если перейти на сайт этой программы, то можно заметить, что её разработчик «закрыл лавочку», и теперь владельцы версий терминалов от 765 и выше могут воспользоваться ею только после оплаты (изображение кликабельно): Тем, кто не желает тратиться, мы предлагаем новый, не менее качественный метод тестирования советников Форекс, для которого потребуется только ваш терминал MetaTrader 4, два бесплатных приложения и немного времени на общую настройку системы тестирования. Вы можете спросить: А можно было ли раньше проводить тестирование с качеством 99% в тестере торговой платформы? . Ответ — Нет . Дело в том, что MetaTrader не предоставлял и по-прежнему не предоставляет доступ к тиковым котировкам, за счёт которых и достигается такой высокий уровень качества. Однако новые билды позволяют использовать в процессе тестирования советников Форекс сторонние тиковые данные, которые предварительно трейдер должен сконвертировать в нужный формат.
Подготовительные работы.
Для того чтобы провести тестирование советников Форекс в тестере программы MetaTrader 4 с качеством 99%, необходимо скачать сам терминал с сайта вашего брокера и установить его. Пусть он будет использоваться только для тестов. Затем следует создать новый демо-счёт. Следующим шагом скачиваем программу StrategyQuant Tick Data Downloader для закачки тиковых данных с сайта DucasCopy. Скачать её можно с этой страницы . Для этого нажмите на зеленую кнопку Download в конце страницы, после чего в представленной форме введите имя и адрес электронной почты, куда будет выслана ссылка на скачивание программы. Проведите стандартную установку программы. И наконец — скачайте скрипт CSV2FXT, который понадобится для конвертирования файлов с тиковыми данными в файлы, которые будет распознавать терминал: Скачать csv2fxt.rar [210.97 Kb] (cкачиваний: 994) Файлы скрипта копируем в соответствующие папки каталога данных терминала MetaTrader 4.
Настройка параметров.
Программа StrategyQuant Tick Data Downloader имеет множество настроек, но не все они необходимы для наших целей. Поэтому остановимся только на необходимых нам функциях:
- — кликаем по кнопке Configure и напротив Automatic export to CSV устанавливаем галочку;
- — при необходимости в пункте Change timezone настраиваем часовой пояс получаемых данных (скрин кликабелен):
Программа будет выводить два файла котировок в формате CSV: в одном файле данные будут представлены с учётом указанного временного сдвига, а в другом — без сдвига, который и рекомендуется использовать.
Для скачивания котировок необходимо указать пары и диапазоны дат (кликните для увеличения):
Затем указываем путь, куда будет сохраняться файл с котировками. По умолчанию предлагается путь в папку с установленной программой StrategyQuant Tick Data Downloader , подпапка tickdata . Вы можете создать новую или выбрать другую папку, и для сохранения файла кликнуть по кнопке Save :
Скачивание начнется после клика по кнопке Start Download . После скачивания в папке вы найдете 2 файла:
Рис. 5. Файлы со скачанными тиковыми котировками.
Почему два — писали об этом выше. Помня о том, что лучше использовать файл с котировками без сдвига по времени, после скачивания первого файла можно остановить программу, а второй файл удалить.
Конвертация тиковой истории.
После скачивания файла котировок переносим его в каталог данных, в папку торгового терминала MQL4Files . Название файла можете изменить и оставить в нем только название пары, например — EURUSD. Затем открываем платформу, график инструмента с необходимым тайм-фреймом, для которого скачивались котировки, запускаем скрипт:
Для корректной работы скрипта необходимо изменить лишь некоторые его параметры, но, чтобы ознакомиться с этой утилитой, мы опишем каждый параметр:
- — CVS2FXT version — версия скрипта;
- — CVS filename — имя файла с данными. В случае, когда оно совпадает с названием торгового инструмента, то нет необходимости что-то здесь писать. В противном случае заполняем это поле (например, пишем EURUSD.csv );
- — Create HST — создавать файлы HST, здесь задаем True . История котировок в MT4 хранится в файлах с расширением .hst , а встроенный тестер изменяет формат на .fxt ;
- — All spreads and comissions in pips — общая сумма спредов и комиссий в пипсах. Можно установить значение 0;
- — Spread — спред. Здесь также можно указать значение 0;
- — Date range info — диапазон дат;
- — Start Date/End Date — ограничение данных для конвертации по первой и последней дате. Если эти даты не будут указаны, то будут конвертированы все данные из файла;
- — Use real (variable spread) — при значении True будет использоваться реальный спред, мы же указываем спред в тестере, поэтому устанавливаем значение False ;
- — Spread padding — задаем значение 0, так как здесь указывается дополнительный спред брокера, мы его не учитываем;
- — Minimum spread — также выставляем значение 0, это размер минимального спреда в файле;
- — Comission info — информация о комиссиях;
- — Comission in pips — размер комиссии в пипсах, указываем 0;
- — Commission in accoun currency — размер комиссии, указанный в валюте счета, оставляем 0;
- — Leverage — кредитное плечо, выставляем Automatic ;
- — FXT GMT and DST info — информация о настройках сдвига по GMT и летнего времени в файле .fxt ;
- — FXT GMT offset — временной сдвиг от времени GMT в файлах формата .fxt ;
- — FXT DST setting — позволяет выбрать летнее время в файлах .fxt с учётом брокера;
- — CSV GMT and DST info — информация о настройках временного сдвига от летнего времени и времени GMT в файле .fxt ;
- — CSV GMT offset — рекомендуется устанавливать значение Autodetect , этот параметр отвечает за сдвиг времени от GMT в файле .csv ;
- — CSV DST setting — параметры летнего времени в файле .csv . Также рекомендуется значение Autodetect ;
- — Remove duplicate ticks — удаляются повторяющиеся тиковые данные;
- — Create M1 FXT , Create M5 FXT , Create M15 FXT , Create M30 FXT , Create H1 FXT , Create H4 FXT , Create D1 FXT , Create W1 FXT , Create MN FXT — при помощи этих параметров можно создать одновременно несколько файлов .fxt для разных временных периодов. По умолчанию же будет создаваться только один файл для тайм-фрейма, на котором запущен скрипт;
- — Time shift info — использование временного сдвига;
- — Time shift — использовать или не использовать сдвиг по времени. В случае установки значения True для данного параметра в файле .fxt даты будут переписаны на 28 лет назад. Делается это для того, чтобы советники, которые пытаются утаить плохие результаты работы за счёт блокирования своей работы в определенные периоды, не смогли обмануть трейдера. Он сможет сравнить тесты для сдвинутых и обычных котировок, и если результаты разные, значит стоит внимательно отнестись к выбранному эксперту;
- — Price multiplication factor — число, на которое умножаются все котировки после конвертации. Для стандартных котировок это значение должно равняться единице. Но если вы скачали котировки для CFD, металлов, индексов, то они могут быть в представлены в отличном от нормальных котировок виде, например, умноженные на определенное число.
Как только будут выставлены все параметры, кликаем по кнопке OК . Программа попросит разрешение на перенос и перезапись файлов, которое необходимо ей дать. После этого терминал надо будет перезапустить.
Теперь можно начинать тестирование советников Форекс с качеством 99% , указав в тестере стратегий пару, для которой делается тест, тайм-фрейм и спред. Надеемся, этот метод окажется для вас удобным и позволит повысить эффективность использования автоматических роботов – советников!
Источник https://fortrader.org/learn/mql/4-nyuansa-testirovaniya-sovetnikov-v-terminale-metatrader-4-o-kotoryx-znayu-ne-vse-trejdery.html
Источник https://avtoforex.ru/testirovanie/515-testirovanie-sovetnikov-v-mt4-s-kachestvom-99.html
Источник