int lot_min; // минимальный размер лота
int lot_max; // максимальный размер лота
int lot_step;
Так же есть и другие поля объявленные как int, а реально они double (в исходном коде это видно - код записывающий их как int закомментирован, а ниже идет запись как double).
это поля действительно типа int! мы забыли сказать, что это - значения, умноженные на 100
2. Между modelquality и currency[12] в TestHistoryHeader, есть еще 4 байта, природа которых неизвества (либо какой-то недокументированный параметр либо где-то выше невыявленный double) . Сейчас я в то место пишу 16457 (такое же значение туда пишет оригинальный тестер). Что это за 4 байта?
не совсем так. лишние 4 байта между todate и modelquality. эффект выравнивания на границу double
3. Есть подозрение, что между TestHistoryHeader и TestHistory, есть что-то еще? Влияет ли на файл #pragma pack(push,1) - эту инструкцию я игнорировал?
эта инструкция означает, что между членами структуры не будет пустого места
Поскольку все вышеречисленное я искал с помощью hex-редактора, возможно, что-то я интерпртеровал неправильно, Слава, посмотри, пожалуйста, мой код, который пишет заголовок.
это поля действительно типа int! мы забыли сказать, что это - значения, умноженные на 100
...
не совсем так. лишние 4 байта между todate и modelquality. эффект выравнивания на границу double
Как умножить на 100 я знаю, но как бороться с выравниванием double - нет. Может приведешь код как правильно записывать заголовок, чтобы он получался корректной длины (по-моему 600 байт)?
Я рассчитывают model quality самостоятельно, но в MT показывается всегда 90%, когда мы разберемся с заголовком, значение model_quality будет показываться, то что в файле записано или другое?
По каким-то причинам тестер перестраивает файл с тиками (галочка Recalculate) не отмечена при первом тестирвоании после запуска терминала и если исползуется собсвенный сгенерирвоанный файл.
Приходится ждать, пока данные сгенерируются, опять переписывать старый (свой) файл с тиками и потом его тестер уже не трогает. Почему так? Быть может стоит ввести еще один тип тестового файла (например, "Внешний источник тиков"), чтобы не было необходимости перетирать один из трех родных файлов для тестера и удобно сравнивать результаты тестирования на данных, сгенерированных MT4, и своих данных.
Прошу последний раз: дайте корректное описание формата FXT и приведите код на MQL генерирующий FXT-файл, понимаемый тестером (или укажите на ошибки в моем коде приведенном выше). Без этого IMHO, утверждение "вы можете самостоятельно генерировать файл FXT и использовать его для тестирования", размещенное в описании возможностей MT4, не соответствует действительности.
Вот такая штука нужна в MT5. Иначе заниматься алготрейдингом в ней невозможно, т.к. брокер по FORTS не даёт нужной глубины истории. Я имею в виду продвинутое тестирование на разных инструментах, с большой глубиной, в т.ч. на синтетических инструментах и генерируемых временных рядах. Фича-то простая... Непонятно зачем убрали её. Сейчас МТ5 можно использовать только как проторговщик. А было бы классно в нём же разрабатывать стратегии (тестировать).
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
1. Такие поля как ниже, реально не int, a double.
Так же есть и другие поля объявленные как int, а реально они double (в исходном коде это видно - код записывающий их как int закомментирован, а ниже идет запись как double).
это поля действительно типа int! мы забыли сказать, что это - значения, умноженные на 100
2. Между modelquality и currency[12] в TestHistoryHeader, есть еще 4 байта, природа которых неизвества (либо какой-то недокументированный параметр либо где-то выше невыявленный double) . Сейчас я в то место пишу 16457 (такое же значение туда пишет оригинальный тестер). Что это за 4 байта?
не совсем так. лишние 4 байта между todate и modelquality. эффект выравнивания на границу double
3. Есть подозрение, что между TestHistoryHeader и TestHistory, есть что-то еще? Влияет ли на файл #pragma pack(push,1) - эту инструкцию я игнорировал?
эта инструкция означает, что между членами структуры не будет пустого места
Поскольку все вышеречисленное я искал с помощью hex-редактора, возможно, что-то я интерпртеровал неправильно, Слава, посмотри, пожалуйста, мой код, который пишет заголовок.
попозже посмотрю
это поля действительно типа int! мы забыли сказать, что это - значения, умноженные на 100
...
не совсем так. лишние 4 байта между todate и modelquality. эффект выравнивания на границу double
Как умножить на 100 я знаю, но как бороться с выравниванием double - нет. Может приведешь код как правильно записывать заголовок, чтобы он получался корректной длины (по-моему 600 байт)?
Приходится ждать, пока данные сгенерируются, опять переписывать старый (свой) файл с тиками и потом его тестер уже не трогает. Почему так? Быть может стоит ввести еще один тип тестового файла (например, "Внешний источник тиков"), чтобы не было необходимости перетирать один из трех родных файлов для тестера и удобно сравнивать результаты тестирования на данных, сгенерированных MT4, и своих данных.
Про невозможность тестирования вы абсолютно неправы. Особенно сейчас, когда мы выпустили тестер на реальных тиках.
Можно ли где-нибудь найти актуальную версию формата FXT? Те, что на сайте и в справке явно устарели.
Пример рабочего скрипта - здесь. В заголовке скрипта структуры для формата FXT.