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

 

b4807, директива tester_file не сохраняет путь к файлу, а копирует его в корень песочницы Агента.

#define FILENAME "Ticks.bin" // https://www.mql5.com/ru/forum/478178/page10#comment_55702486

#property tester_no_cache
#property tester_file "RamDriveFolder\\" + FILENAME

double OnTester()
{
  MqlTick Ticks[];
  
  return(FileLoad(FILENAME, Ticks) ? ArraySize(Ticks) : -1); // OnTester result 1368151
}

Просьбу подумать над возможностью копирования файлов вместе с их путями. Спасибо.

Строка для поиска: Uluchshenie 110.
 
fxsaber #:

Далее пробую скомпилировать такой советник.

Выдает ошибку, хотя показывает, что файл видит. Можно даже в Журнале дважды щелкнуть и откроется bin-файл.

Как минимум это не ошибка, а преднамеренная защита (из книги):

В пути ресурса недопустимо использовать подстроки "..\\" и ":\\".

Про остальное - идей нет.

ЗЫ. Еще увидел в том же разделе:

Размер файла ресурса не может быть больше 128 Mb.

Учебник по MQL5: Расширенные средства языка / Ресурсы / Описание ресурсов с помощью директивы #resource
Учебник по MQL5: Расширенные средства языка / Ресурсы / Описание ресурсов с помощью директивы #resource
  • www.mql5.com
Для включения файла ресурса в откомпилированную версию программы следует использовать в исходном коде директиву #resource . Директива имеет разные...
 

Почему у различных инструментов разная ширина графика в барах CHART_WIDTH_IN_BARS ?

Например, у меня у XTIUSD - 230, у EURUSD - 229, у US30 - 228, у BTCUSD - 228, у USDMXN - 228, у US500 - 229 баров.

Кто-нибудь может объяснить почему? Это баг или нет?

 
Andrei Iakovlev #:

Почему у различных инструментов разная ширина графика в барах CHART_WIDTH_IN_BARS ?

Например, у меня у XTIUSD - 230, у EURUSD - 229, у US30 - 228, у BTCUSD - 228, у USDMXN - 228, у US500 - 229 баров.

Кто-нибудь может объяснить почему? Это баг или нет?

Может ли ширина вертикальной шкалы влиять на ширину графика?

 
Stanislav Korotky #:

Про остальное - идей нет.

Компилятор архивирует ресурсы, чтобы поместить компактно в EX5. На алгоритм сжатия и уходит время.

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


Нужно поменять шаги: сначала проверить, используется ли в коде ресурсный массив и только потом принимать решение, архивировать его или нет.

 
b4807, разное поведение генерации warning.
void OnStart()
{
  string Str[];       // variable 'Str' not used
  MqlParam Params[];  // OK
  int Array[];        // OK
}
Строка для поиска: Uluchshenie 111.
 
Andrei Iakovlev #:

А она может меняться? Я не знаю. Поэтому и спрашиваю почему ширина в барах разная и баг это или нет.

Можно визуально заметить, что ширина vertical scale зависит от суммарного количества знаков в цене (до и после запятой). Сравните:



Я не утверждаю, что причина в этом, это я навскидку.

 
Vladislav Boyko #:

Может ли ширина вертикальной шкалы влиять на ширину графика?

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

 
fxsaber #:
b4807, разное поведение генерации warning. Строка для поиска: Uluchshenie 111.

Это указание на первую строку с подобной "ошибкой". Если её удалить или переместить ниже, то будет предупреждение о другом не используемом массиве.

 
Alexey Viktorov #:

Это указание на первую строку с подобной "ошибкой". Если её удалить или переместить ниже, то будет предупреждение о другом не используемом массиве.

Вы же не проверяли.