Продолжение работы торгового бота после перезапуска программы

 
Как реализовать что б он продолжил работу? Возможно ли сохранять переменные куда-либо, что б при перезапуске программы торговый бот не инициализировал переменные а брал те что были до закрытия программы? Желательно без варианта записи в файл и чтения из файла. Например аналог LocalStorage в браузере
 
WinZip:
Как реализовать что б он продолжил работу? Возможно ли сохранять переменные куда-либо, что б при перезапуске программы торговый бот не инициализировал переменные а брал те что были до закрытия программы? Желательно без варианта записи в файл и чтения из файла. Например аналог LocalStorage в браузере

GlobalVariableSet() и пр.

 
А чего не нравится запись в файл? Это самый надёжный вариант где все зависит только от вас, а не от надёжности сторэджа. Глобал вариаблы работают только если закрывается лишь эксперт, а если сам терминал, то свой ини файл - единственное и правильное решение.
 
Aleksey Mavrin:
А чего не нравится запись в файл? Это самый надёжный вариант где все зависит только от вас, а не от надёжности сторэджа. Глобал вариаблы работают только если закрывается лишь эксперт, а если сам терминал, то свой ини файл - единственное и правильное решение.

GlobalVariable - это та же запись в файл, только системно, и организован удобный доступ к чтению/записи, без всякого парсинга. Для сохранения переменных внутри одного терминала или обмена между его экспертами - самое то.

 
Edgar Akhmadeev:

GlobalVariable - это та же запись в файл, только системно, и организован удобный доступ к чтению/записи, без всякого парсинга. Для сохранения переменных внутри одного терминала или обмена между его экспертами - самое то.

Ограничение времени жизни г.переменных вас не смущает? Может я чего не понимаю, но если я при инициализации записал в г.пер. свои данные и записываю что-то по ходу работы, я же не могу быть уверен что они не "сгорят", или обращаться к ним без надобности постоянно? А вдруг мне на время отпуска надо отключить а потом чтоб продолжил?
 
Aleksey Mavrin:
Ограничение времени жизни г.переменных вас не смущает? Может я чего не понимаю, но если я при инициализации записал в г.пер. свои данные и записываю что-то по ходу работы, я же не могу быть уверен что они не "сгорят", или обращаться к ним без надобности постоянно? А вдруг мне на время отпуска надо отключить а потом чтоб продолжил?

Для каждой цели свои решения. И глобальные переменные, и ini-файлы подходят не для всего.

Глобальные переменные живут 4 недели, и для хранения состояния между сессиями подходят. Зато просто.

ini-файлы - это надолго (про потери не будем), но лишние заморочки. Если, конечно, используешь соответствующую библиотеку и набил руку, в путь. Но начинать с этого знакомство с разработкой как-то преждевременно.

Есть и другие варианты. Я вместо файлов сохраняю переменные в каталоге диска (функции аналогичны GlobalVariable). Это файлы нулевой длины, места не занимают. Каталог Винда кеширует в памяти, так что быстро. Доступны из всех терминалов, если держать в COMMON.

 
Согласен, если речь просто о перезапуске то норм, я просто привык делать на все случаи жизни, а если на заказ то и на дурака сами знаете.
С вашим вариантом очень интересно - файлы нулевой длины - т.е. Вся инфа в имени файла?
 
Aleksey Mavrin:
С вашим вариантом очень интересно - файлы нулевой длины - т.е. Вся инфа в имени файла?

USDRUB=59.5426_1501372800.var

ИМЯ=ЗНАЧЕНИЕ_ВРЕМЯ.var

Время изменения сохраняю, поскольку MQL не имеет доступа ко времени изменения файла.

UPD:

Symbols=EURUSD,GBPUSD,USDCHF,USDJPY.var

N=1.00,63,USDCHF_1515797165.var