У меня возникла проблема с функцией "CustomTicksAdd()". Не могли бы администраторы и эксперты помочь решить её? Спасибо!

 
    Я пытаюсь использовать функцию "CustomTicksAdd()" для отправки данных "MqlTick" в пользовательский контракт, а затем прочитать их обратно в нём. Однако я обнаружил, что данные "flags" в конце первой отправки данных "MqlTick" считываются в пользовательском контракте неправильно. Более того, вторая отправка данных "MqlTick" считывается не в той последовательности, в которой считываются ранее отправленные данные "MqlTick". Пожалуйста, помогите решить эту проблему. Прилагаю исходный код скрипта "ProblemReproduction", который воспроизводит эту проблему. Установите установочный пакет программного обеспечения AMP Brokerage MT5 "ampglobalusa5setup.exe" и запустите скрипт, используя контракт "EMP25". Файл «1.csv» — это данные MqlTick, отправленные в пользовательский контракт в первый раз, файл «2.csv» — это данные MqlTick, отправленные в пользовательский контракт во второй раз, а файл «3.csv» — это данные MqlTick, считанные из пользовательского контракта. Видно, что существуют указанные выше проблемы.
Файлы:
 


Это правильные данные флагов.

 


Это ошибка данных «флагов».

 

Это случай обратной хронологии.

 
xiezhiqi #:

Это случай обратной хронологии.

В справке к CustomTicksAdd() написано:

Флаги TICK_FLAG_BUY и TICK_FLAG_SELL в историю пользовательского инструмента не добавляются.

Возможно поэтому у вас получаются разные флаги.

 
Aleksandr Slavskii #:

В справке к CustomTicksAdd() написано:

Флаги TICK_FLAG_BUY и TICK_FLAG_SELL в историю пользовательского инструмента не добавляются.

Возможно поэтому у вас получаются разные флаги.

Я знаю об этой справочной информации, но на практике большую часть информации о флагах TICK_FLAG_BUY и TICK_FLAG_SELL можно прочитать, но последующее чтение невозможно. Поэтому я надеюсь, что MT5 сможет реализовать эту функцию.

 
Я хочу использовать функцию CustomTicksAdd() для реализации идеального воспроизведения на платформе MT5, которое будет лучше, чем эффект воспроизведения на многих других платформах. Я написал много кода для этого, но из-за вышеупомянутой ошибки мой план не может быть реализован. Я искренне надеюсь, что платформа MT5 сможет решить эту проблему, и я смогу добиться идеального воспроизведения на платформе MT5. Спасибо!
 

Я поддерживаю вашу просьбу к разработчикам.

Очень неудобно обходить это их ограничение, не сложно, а именно неудобно.

Господа разработчики, уберите, пожалуйста, это ограничение.