
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Если у кого-то есть QuotesDownloader от FxOpen, скажите какой глубины историю у них можно скачать прежде чем я начну регистрацию и установку этой программы.
Отвязывание тестера от фиксированного спреда
Простое предложение для разработчиков, как MT4-тестер сделать максимально точным при условии, что у пользователя имеется M1_Ask-история.
Надо всего лишь добавить в тестер флажок: использовать Volume-поле (в OHLCV), как данные о Low_Ask цене в режиме "по ценам открытия".
В таком случае любому желающему добиться практически максимальной точности на M1-данных "по ценам открытия" понадобиться всего лишь записать значение Low_Ask-цен в Volume-поле OHLCV.
А разработчикам эта добавка потребует внести только две примитивные строчки в свой тестер:
Было (грубо):
Станет:
Т.е. можно использовать никчемные чаще всего double-данные тикового объема, как уже готовое поле для Ask-истории перед тестированием.
Конечно, поле тикового объема в редких случаях используется ТС в тестере - например, туда пишется реальный проторгованный объем. Но на 99% задач тестирования/оптимизации реализация предложения выше дало бы так важный результат точного тестирования без каких-либо затруднений.
Улучшить аналогично режим "по всем тикам" можно также, но это потребует от разработчиков написания более, чем двух строк. Поэтому упускаем.
P.S. Конечно, сейчас при некорректных значениях поля Volume бары не отображаются. Можно снять это ограничение, как рудимент.
P.P.S. Для наивысшей точности есть один нюанс с Open-ценами OHLCV, но, объясняя его, сделается ложное впечатление о сложности данного предложения. Поэтому рассказ о нем упускаем. Однако, по ссылке выше этот нюанс учтен.
Простое предложение для разработчиков, как MT5-тестер сделать максимально точным при условии, что у пользователя даже нет M1_Ask-истории.
Переписать легкий алгоритм формирования поля Spread бара.
Было:
Станет:
Такая реализация позволит не менять совершенно тестер "по ценам открытия" и структуру исторических данных. При этом достигнется точность модели HigBid+LowAsk (наивысшая для истории в виде таймфреймов/баров).
P.S.
Простое предложение для разработчиков, как MT4-тестер сделать максимально точным при условии, что у пользователя имеется M1_Ask-история.
Важность наличия фильтра истории.
Грамотный тестер всегда имеет возможности работы с кастомной историей и кастомными символами.
Как правило, на плечи алготрейдера ложится написание фильтра для создания такой кастомной истории. Причина создания фильтра всегда проста - повысить на порядки скорость тестирования/оптимизации без существенного ухудшения качества результатов тестирования.
Т.е. трейдер перед запуском своей ТС в тестере/оптимизаторе обязан создать кастомную историю на основе своего фильтра.
Автоматическое нахождение оптимального фильтра истории.
В очень грамотных тестерах предлагаются также штатные (можно и кастомные) фильтры со своими настройками. И, главное, имеется механизм автоматического нахождения оптимального фильтра истории. Суть его проста:
Когда такой фильтр автоматически найден, создается на его основе кастомная история для непосредственного тестирования/оптимизации ТС.
Пример.
Представим, что вы хотите оптимизировать свою ТС. При этом она довольно чувствительна к историческим данным. Оптимизировать ее на чистой тиковой истории - безумие (долго). Поэтому стоит вопрос фильтра. Например, если у вас плохой пинг - фильтруете тики сильнее, хороший - слабее. Но помимо такой простой логики фильтра, вы начинаете прореживать тики все сильнее и сильнее, где на каждом участке смотрите, насколько результат вашей ТС отличается от эталонного (без фильтра). Ну и замеряете время прогона после каждого прореживания.
Видите, что проредив, например, в 1000 раз тики, получаете отличие на 1% от эталонного. При этом скорость тестирования увеличивается, соответсвенно, в 1000 раз. Тогда либо останавливаетесь на выборе фильтра, либо дальше ищите золотую середину.
Вот как раз очень грамотный тестер поможет вам найти такую золотую середину автоматически. И вы сможете оптимизировать свою ТС максимально быстро (иногда на несколько порядков), почти без влияния на качество тестирования.
P.S.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Интересная тема для многих: что будет нового в MetaTrader 4 и MQL4 - большие изменения на подходе
hrenfx, 2013.08.13 08:14
Произволная задержка - грубый инструмент. Серьезно тестируют только так:
Индикативная история (робот в тестере видит только ее - как в реале) + созданная под конкретную ТС своя кастомная история (тестер исполняет по ней).
При создании кастомной истории учитывается и LiveTime-цены (+ пинг), ликвидность (Level2 и какими объемами оперирует ТС) и т.д. И все равно идеального совпадение не добиться, хоть и можно значительно приблизиться. Тут просто тонкости нужно прочуствовать - позондировать реал своей ТС.
P.S. Заметьте, что после создания такой кастомной истории все равно обязательно дальше применить к ней фильтр. Поэтому такая кастомная история вполне может быть и в виде M1 HighBid+LowAsk. Т.е. тестировать по тиковой истории или Level2- истории далеко не обязательно (почти всегда). Надо из этой огромной истории создать только предварительную Execution-историю. А дальше по накатанной.