Новая версия платформы MetaTrader 5 build 5120: улучшения и исправления - страница 43

 
Почините проблему отображения лишь половины количества ядер в metatester наконец уже, пожалуйста. 
 

Билд

2025.07.09 11:06:12.620 Terminal        MetaTrader 5 x64 build 5147 started for MetaQuotes Ltd.
2025.07.09 11:06:12.620 Terminal        Windows 7 Service Pack 1 build 7601, 8 x AMD FX-8350 Eight-Core, AVX, 14 / 31 Gb memory, 93 / 1794 Gb disk, admin, GMT+3

код:

//В настройках "Макс. баров в коне" указано 100000 баров
   int Bar_Shift=iBarShift(Symbol(),PERIOD_M1,D'01.01.2008',false);
   Print("Bar_Shift=",Bar_Shift," iTime=",iTime(Symbol(),PERIOD_M1,Bar_Shift));

Получаем значение:

2025.07.09 11:02:44.762 Stat_Analiz_RSI (USDJPY,M2)     Bar_Shift=101323 iTime=1970.01.01 00:00:00

В справке указано:

exact=false

[in]  Возвращаемое значение, если бар на указанное время не найден. При значении exact=false iBarShift возвращает индекс ближайшего бара, у которого время открытия меньше указанного (time_open<time). Если такой бар не найден (нет истории раньше указанного времени), то функция вернет -1. Если exact=true, то ближайший бар не ищется и функция iBarShift сразу возвращает -1.

Ожидается, что должно быть возвращено значение "-1"! Иначе получается, что программа видит больше баров, чем указано ограничителем, при этом возвращает максимальное число (лимит + то, что натикало за какой то период (день?)), а при попытке получить информацию с баров за пределами ограничения (в данном случае 100000), мы получаем бессмысленные значения.

Функция Bars так же возвращает больше баров, чем указано в настройках. Ну, тут либо дать доступ к информации о барах, либо корректно обрабатывать лимит в указанное число баров.

 
fxsaber #:

Если получится, буду делать оптимизацию только в мат. режиме. Сплошные плюсы - и скорость и экономия на памяти. Т.е. можно гораздо бОльшую историю тиков использовать.

Получилось.

Производительность.

На скрине производительность оптимизации в разных режимах слева-направо: по реальным тикам (пипсам), по реальным тикам с виртуальным окружением и математический режим.

Хорошо видно, что в данном случае мат. режим оказался на порядок быстрее.


Преимущества.

Мат. режим превосходит обычный торговый режим MT5-тестера при использовании данной библиотеки всего по двум показателям.

  • Производительность заметно выше.
  • Почти нулевое потребление памяти.
EAToMath
EAToMath
  • 2025.07.09
  • www.mql5.com
Тестирование на истории в математическом режиме MT5-тестера.
 
Как я и писал ранее теперь с версий 5000 окно навигатора всегда по умолчанию справа.
 
Aleksei Skrypnev #:
Как я и писал ранее теперь с версий 5000 окно навигатора всегда по умолчанию справа.

Перенесите влево...

 
Aleksei Skrypnev #:
Как я и писал ранее теперь с версий 5000 окно навигатора всегда по умолчанию справа.
см пост 
 
Aleksey Vyazmikin #:

Перенесите влево...

не этим дело даже не закончилось-

1нажал контр-м чтобы влезло окно символов

2 появилось окно на полэкрана вверху символы и полэкрана внизу навигатор- график пропал.

Это как я должен перетаскивать из нафигатора на график?

3  нажал опять контр-м - окно символов пропало и теперь навигатор на весь экран

4 убираем навигатор остаётся только график.

Вывод- вместо торговли играем в окошки

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

 

случайно обратил внимание :

а что, теперь так можно ?

то есть без разделителя..

предупреждений не даёт и всё компилируется 

 
Aleksei Skrypnev #:

не этим дело даже не закончилось-

1нажал контр-м чтобы влезло окно символов

2 появилось окно на полэкрана вверху символы и полэкрана внизу навигатор- график пропал.

Это как я должен перетаскивать из нафигатора на график?

3  нажал опять контр-м - окно символов пропало и теперь навигатор на весь экран

4 убираем навигатор остаётся только график.

Вывод- вместо торговли играем в окошки

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

У меня так сейчас


 
Maxim Kuznetsov #:

случайно обратил внимание :

а что, теперь так можно ?

то есть без разделителя..

предупреждений не даёт и всё компилируется 

Принтаните массив