Ошибки, баги, вопросы - страница 2941

 
 Подскажите, если есть, способ сохранить в индикаторе предыдущее значение строковой переменной после наступления события Init? Глобальные переменные терминала со string не работают. Если быть точнее, то в конце OnCalculate() нужно сделать prev_val=val и чтобы после Init prev_val сохранилась, а val могла бы, как обычно, принимать новое значение. Но не хотелось бы извращений типа создать объект на графике, обозвать его требуемым именем, а после Init считывать старое значение. Это как-то дико уродливо, хотя и возможно вроде... да и имя может потребоваться длинное, а у объектов оно сильно ограничено.
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Глобальные переменные - Переменные - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
x572intraday:
 Подскажите, если есть, способ сохранить в индикаторе предыдущее значение строковой переменной после наступления события Init? Глобальные переменные терминала со string не работают. Если быть точнее, то в конце OnCalculate() нужно сделать prev_val=val и чтобы после Init prev_val сохранилась, а val могла бы, как обычно, принимать новое значение. Но не хотелось бы извращений типа создать объект на графике, обозвать его требуемым именем, а после Init считывать старое значение. Это как-то дико уродливо, хотя и возможно вроде... да и имя может потребоваться длинное, а у объектов оно сильно ограничено.

можно через ресурсы и юнионы сохранять и передавать между ТФ простые структуры или даже массивы простых структур. 

для этого вам понадобятся: 

template <typename T>
union
sizeof(T)
ResourceReadImage
ResourceCreate
ResourceFree
_UninitReason
для хранения строк придется использовать статический массив uchar фиксированного размера. (см. CharArrayToString, StringToCharArray)
 
Nikolai Semko:

можно через ресурсы и юнионы сохранять и передавать между ТФ простые структуры или даже массивы простых структур. 

для этого вам понадобятся: 

для хранения строк придется использовать статический массив uchar фиксированного размера. (см. CharArrayToString, StringToCharArray)

 Ещё вспомнилось — через файлы, но тоже не хотелось бы, поскольку способ не самый естественный.

 Спасибо, буду пробовать.

 
x572intraday:

 Ещё вспомнилось — через файлы, но тоже не хотелось бы, поскольку способ не самый естественный.

 Спасибо, буду пробовать.

Если SSD, то нормальный способ тоже.
 
x572intraday:

 Ещё вспомнилось — через файлы, но тоже не хотелось бы, поскольку способ не самый естественный.

 Спасибо, буду пробовать.

Если речь идёт об MT5, то существует ненулевая вероятность, что OnInit нового состояния индикатора будет вызван раньше, чем OnDeinit предыдущего состояния индикатора
 
Slava:
Если речь идёт об MT5, то существует ненулевая вероятность, что OnInit нового состояния индикатора будет вызван раньше, чем OnDeinit предыдущего состояния индикатора
Поэтому сохранение данных должно происходить не в OnDeinit, а сразу после изменения данных или по какому-нибудь событию.
В OnDeinit можно оставить только сохранение в файл в случае закрытия терминала.
 
Nikolai Semko:
Поэтому сохранение данных должно происходить не в OnDeinit, а сразу после изменения данных или по какому-нибудь событию.
В OnDeinit можно оставить только сохранение в файл в случае закрытия терминала.
Да
 

Существует ли функция или еще какой-нибудь доп функционал(библиотека, код) на тему сохранения параметров советника.?

При прогоне советника сохранение настроек в стандартный сет настроек.

 
Aleksei Skrypnev:

Существует ли функция или еще какой-нибудь доп функционал(библиотека, код) на тему сохранения параметров советника.?

При прогоне советника сохранение настроек в стандартный сет настроек.

Здесь в описании пример. Искать по SaveSet.

SingleTesterCache
SingleTesterCache
  • www.mql5.com
Данные одиночного прохода Тестера.
 

Заявка в сервисдеске в статусе "Начата" висит с декабря.

Возможно затерялась

Финансы: Проблема с пополнением аккаунта MQL5.com
Открыта, Начата:  2020.12.28 16:34 , #2929416
Причина обращения: