Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да, верно.
Что еще я не учел в этом опыте?
Атрибут read only.
Атрибут read only.
Да, спасибо большое. Выше написал, что думал, будто за него сам тестер отвечает. А оказалось нужно устанавливать самому.
Начал разбираться с подстановкой своего файла в тестер. В итоге споткнулся о следующее:
Формат FXT известен.
Нашел документацию по формату в справке терминала (Клиентский терминал - Автотрейдинг - Тестирование стратегий - Файлы истории FXT). Прочитал файл в этом формате. По полученным данным видно, что данные не соответствуют заявленному формату.
Стал искать на форуме подобную информацию. Нашел такой формат - https://www.mql5.com/ru/forum/112702. Он оказался намного ближе к нужному, но все равно во многих местах не соответствовал действительности. После неоднократного применения метода научного тыка (эмпирический способ познания ;) ) пришел к следующим структурам:
и
В глаза бросается тот факт, что работа со временем ведется в обоих форматах: нового и старого MQL4. Так, члены fromdate и todate структуры TestHistoryHeader, а также ctm структуры TestHistory используют старый (4-хбайтный) формат даты/времени, а вот член otm структуры TestHistory пишется в новом (8-и байтном) формате даты/времени.
Ну и, опять же, непонятно, правильно ли подобраны члены типа unknown. Да и что они значат, тоже интересно.
Первый раз решил посмотреть подробно, что же это за FXT. И что обозначает "100%-е моделирование". Достаточно просто посмотреть этот код, чтобы понять, что никакого точного тестирования при генерации FXT из реальной тиковой истории быть не может по определению. Я был уверен по своей наивности, что в FXT каждый тик представляет пару значений: Bid и Ask. А оказалось, только Bid.
Досконально проверил TDS — полное потиковое совпадение Bid и Ask! Автор Birt — молодец, отличная хак-доработка MT4-тестера! В FXT в качестве цены тика записывается только Bid, зато его спред пишется в поле Volume. За счет взлома MT4 получается добиться, чтобы MT4-тестер вычислял на каждом тике Ask, как Bid + Volume (в этом вся фишка).
Продукт по итогу платный, правда. Но такая работа, проделаная автором за Metaquotes, на одном энтузиазме держаться не может. С учетом еще дополнительных возможностей по регулированию качества исполнения отложенных ордеров... MT5-тестер на моновалютке по всем показателям значительно уступает - 100%.
После неоднократного применения метода научного тыка (эмпирический способ познания ;) ) пришел к следующим структурам:
Уточнение структур:
и
Наиболее критическое уточнение - по структуре TestHistory. Во всех источниках после члена open следует член low. Хотя на самом деле после open должен идти high, о чем однозначно свидетельствует комментарий. Этот момент очень долго вычислялся, тестер упорно писал: "invalid fxt file"))
В результате поднятой темы удалось создать скрипт, конвертирующий тиковую историю в формат FXT и подставляющий полученный файл в папку тестера стратегий. Скрипт поставляется с исходным кодом
Перенесите, пожалуйста, код скрипта в Code Base или в Маркет.
Да, действительно, не подумал. Сейчас оформлю.