Новая версия платформы MetaTrader 5 build 2280 - страница 27

 

Build 2301.

Индикатор. Запрашиваю тики через CopyTicksRange. Пробую три варианта тиков:

  • COPY_TICKS_INFO – работает
  • COPY_TICKS_TRADE – не работает, всё время получаю '0'
  • COPY_TICKS_ALL – работает


Проверил индикатор в 2280 - там COPY_TICKS_TRADE работает.


2280

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTicksRange
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTicksRange
  • www.mql5.com
[out]  Cтатический или динамический массив MqlTick для приема тиков. Если в статический массив не вмещаются все тики из запрошенного интервала времени, то будет получено столько тиков, сколько помещается в массив. При этом функция сгенерирует ошибку ERR_HISTORY_SMALL_BUFFER (4407) . ERR_NOT_ENOUGH_MEMORY – не хватает памяти для получения...
Файлы:
 
Vladimir Karputov:

Уточните номер билда. Я проверил в 2301 - позиции отлично выбираются по Magic и соответственно присвоение Magic в классе CTrade работает исправно.

я не помню точно, тот что бы выпущен 22 января 2020, возможно "2300", кстати, позиции выбирались, если строка стояла в OnInit(), а вот я делал несколько советников в одном и перед отправкой ордера m_trade.Buy() устанавливал magic number свой каждому из них, так вот так не устанавливался он и не отслеживался через positions.Magic, у меня аж скрутило, потому что вот, работало, а теперь нет, и тут смотрю 23-го января  обновление, компилирую и вуаля, опять работает

 
Vladimir Karputov:

Build 2301.

Индикатор. Запрашиваю тики через CopyTicksRange. Пробую три варианта тиков:

Проверил индикатор в 2280 - там COPY_TICKS_TRADE работает.


Скажите пожалуйста на каком сервере вы это проверяли?

Я проверил на версии 2280 и 2301 - на обоих торговые тики отдаются с вашим индикатором.

Обратите внимания, что торговые тики могут быть не на всех серверах и не за все периоды времени (в зависимости от того откуда и как брокер получает/получал котировальный поток).

Например, на MetaQuotes-Demo нет торговых тиков для EURUSD за последнее время.

 
Anton:

Скажите пожалуйста на каком сервере вы это проверяли?

Я проверил на версии 2280 и 2301 - на обоих торговые тики отдаются с вашим индикатором.

Обратите внимания, что торговые тики могут быть не на всех серверах и не за все периоды времени (в зависимости от того откуда и как брокер получает/получал котировальный поток).

Например, на MetaQuotes-Demo нет торговых тиков для EURUSD за последнее время.

Сервер MetaQuotes-Demo, символ GBPUSD 

 
Vladimir Karputov:

Build 2301.

Индикатор. Запрашиваю тики через CopyTicksRange. Пробую три варианта тиков:

  • COPY_TICKS_INFO – работает
  • COPY_TICKS_TRADE – не работает, всё время получаю '0'
  • COPY_TICKS_ALL – работает


Проверил индикатор в 2280 - там COPY_TICKS_TRADE работает.



А они точно есть эти тики? Вот проверил в 2280 билде


Нету торговых тиков. Только бид-аски


 
Vladimir Karputov:

Сервер MetaQuotes-Demo, символ GBPUSD 

А на скриншоте EURUSD

GBPUSD тоже нет тиков


 
Slava:
А на скриншоте EURUSD

Всё верно: в 2280 на EURUSD работает, на 2301 GBPUSD не работает.


Добавлено: как запретить терминалу обновляться на год или даже два?

 
Vladimir Karputov:

Всё верно: в 2280 на EURUSD работает, на 2301 GBPUSD не работает.

Я сейчас скриншоты показал с билда 2280
 
Andrey Khatimlianskii:

И INIT_PARAMETERS_INCORRECT тоже.

Вместо подсвечивания красным, такой проход отбрасывается, а когда остальные заканчиваются, добавляется в очередь повторно, и оптимизатор уходит в бесконечный цикл запуска неправильных параметров.

Спасибо. Исправили.
 
Andrey Khatimlianskii:

Иляс, а статики, случайно, не поломали в том же месте?

Такое ощущение, что они перестали инициализироваться при новом проходе оптимизации, помнят последнее значение предыдущего прохода..

Это уже в 2301

Можно подробности?

Проверил на простом примере и не смог воспроизвести

Причина обращения: