Тестер MetaTrader 5 не правильно строит бары
Дан кастомный символ из предыдущего поста (данные те же). Бары строятся по цене Last, о чем указано в настройках символа.
Слева вид баров построенный в тестере. Справа первоначальные бары.
Видно что графики полностью не совпадают. На левом какая-то хрень.
з.ы. Думал что строит по Bid, но посмотрел ленту сделок - оказывается таких цен даже ни было ни в бид ни в ласт не в аск. Ленту сделок в текстовом виде прикрепляю ниже.
Какой номер билда Вы используете?
Очень странное время в журнале 0000.00.00 00:00:00.000
Какая у Вас операционная система?
Сохраняются ли файлы с расширением log в папке данных тестера?
1. Вы не дали файл "deribit1.out.bin". В приаттаченном архиве "deribit1.out"
2. Вы не дали настройки кастомного символа
Хорошую функцию игнорируете
MqlTick tiks[]; if (FileLoad("deribit1.out.bin", ticks)) { // ....
1. Вы не дали файл "deribit1.out.bin". В приаттаченном архиве "deribit1.out"
2. Вы не дали настройки кастомного символа
Пардоньте.
Хорошую функцию игнорируете
Буду знать.
Какой номер билда Вы используете?
Очень странное время в журнале 0000.00.00 00:00:00.000
Какая у Вас операционная система?
Сохраняются ли файлы с расширением log в папке данных тестера?
Билд самый последний. 2136. Использую всегда самый последний.
Windows 7 SP1
Логи сохраняются. Логи в журнале тестера стратегий появились. Но при этом в журнале визуализатора в тестере стратегий ничего не выводится.
Пардоньте.
Спасибо. Разберёмся.
Несомненно, главное предложение - автоматизация тестирования.
Сделайте walk-forward оптимизацию или что нибудь типа того. Тестирование должно быть на нескольких периодах и инструментах.
А если не хотите этого делать, так позвольте сделать это средствами MQL, людям не имеющим диплома инженера программиста (или степени?).
Для этого нужна мозможность чтения и записи (Get__ \Set__) времени начала и конца периода тестирования, времени начала форвард-периода и возможность перезапуска тестера с новым периодом тестирования.
Кроме того, имеющиеся средства обработки фреймов не работают нормально. Об этом уже достаточно написано здесь.
И ещё баг: при повторном старте тестера с включённым форвардом и прежними параметрами он зависает. Нужно менять инпуты, таймфрейм, инструмент или перекомпилировать советник.
Последний общедоступный билд по-прежнему 2085.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
В настоящий момент тестер стратегий MetaTrader 5 подвергается глубокой переработки командой MQ. Не смотря на то, что за последние два года была проделана действительно большая работа (спасибо команде MetaQuotes), данный тестер вызывает очень много вопросов. К сожалению, самые последние изменения направлены больше на визуальное оформление тестера, с тем что бы новичкам было проще работать с ним, тогда как механизмы его работы по прежнему вызывают вопросы у более опытных пользователей.
Предлагаю данную ветку посвятить конструктивной критики тестера MetaTrader 5 и сделать из нее то место, откуда можно достучаться до непосредственных разработчиков.
Все заявления/обсуждения/критика/упреки должны подаваться с четкой аргументацией и воспроизводимостью результатов. Уклон в обсуждении прошу делать на механизма исполнения и ценообразования. Пожелания на тему рющечек, значков и сферических коней в вакууме (хочу что бы грузились все ядра, хочу многопоточности при одиночном прогоне и т.д.) не приветствуются, хотя и не запрещаются.
Итак, поехали.
Тестер MetaTrader 5 пропускает исполнение лимитных заявок
1. Даны кастомные тики как массив MqlTiсk в бинарном файле (прикреплен к сообщению).
2. Кастомные данные обрабатывает специальный скрипт и загружает их в историю инструмента. Скрипт также прикреплен к сообщению.
3. На получившемся графике запущен эксперт, совершающий сделки согласно его логике. Эксперт работает в режиме реальных тиков.
4. В момент времени 00:11:05:085 был выставлен лимитный ордер по цене 10422.5. Текущая цена в момент выставления 10422.0.
5. В момент времени 00:11:06.179 цена Last произошла по 10424.0. Согласно правилам биржевого ценообразования, лимитный ордер SellLimit должен быть исполнен по цене 10422.5, однако этого не происходит. Лимитный ордер словно зависает в воздухе, показывая полный сюр: сделки происходят с кем-то другим, предлагающим цены хуже нашего!
6. Но чудеса начинают продолжаться. Цена разворачивается и с 1024.0 падает до 10419. Т.е. уровень продажи лимитника пронизывается сверху-внизу. Однако лимитный ордер также зависает в воздухе.
К сожалению я не нашел каких либо логов показывающих что происходит. Такое ощущение что логи тестера тупо выключены, printf не работает. Вывод в журнал тестера выключен:
Короче, похоже это еще одна проблема, которой раньше не было.
В связи с этим я записал видео в котором хорошо видно, что происходит (самое интересное начинается примерно с 30 секунды. Вверху экрана текущее время с точностью до миллисекунд):
На видео хорошо видно, что диапазон бара пронизывает уровень лимитного ордера, однако исполнения не происходит.
Есть и другие вопросы к тестеру. Но пока думаю необходимо разобраться с этим.