Здравствуйте. Вот если произошёл критическое закрытие терминала, то значения GV переменных сбрасываются к предыдущему открытию терминала (вроде так). А можно этого избежать?
принудительный сброс GV : https://www.mql5.com/ru/docs/globals/globalvariablesflush
но в первую очередь надо лечить "критическое закрытие терминала". Это из рук вон плохо когда попадается - потом могут случаться любые чудеса..На практике видел только при отладке DLL.
В теории ещё может случаться когда питание во время активной большой торговле резко обрубается. Но не встречал :-) MT в этом плане весьма надёжен - часто сбрасывает GV и с ними обычно всё в порядке
- www.mql5.com
принудительный сброс GV : https://www.mql5.com/ru/docs/globals/globalvariablesflush
но в первую очередь надо лечить "критическое закрытие терминала". Это из рук вон плохо когда попадается - потом могут случаться любые чудеса..На практике видел только при отладке DLL.
В теории ещё может случаться когда питание во время активной большой торговле резко обрубается. Но не встречал :-) MT в этом плане весьма надёжен - часто сбрасывает GV и с ними обычно всё в порядке
Спасибо огромное за GlobalVariablesFlush, как то не сообразил насчёт этого. А если я её буду вызывать после обновления значения каждой GV переменной (а их у меня много) нормально будет? А вчера у меня после сбоя программы весь Windows VPS намертво завис, ничего не получалось сделать, он вообще не реагировал. Помогла только принудительная перезагрузка, но в результате произошло неправильное закрытие терминала
в первую очередь выясняйте причины "сбоя программы". У вас что-то со сторонним софтом (советники/индюки/панели с кривыми DLL) или Windows неполноценен (убедитесь что все обновы присутствуют и IE/Edge там последней версии)
MT сам по себе очень стабильный софт.
при частых изменениях GlobalVar и так потенциально способен "провертеть дырку на диске", а с принудительным Flush так тем более ;-)
в первую очередь выясняйте причины "сбоя программы". У вас что-то со сторонним софтом (советники/индюки/панели с кривыми DLL) или Windows неполноценен (убедитесь что все обновы присутствуют и IE/Edge там последней версии)
MT сам по себе очень стабильный софт.
при частых изменениях GlobalVar и так потенциально способен "провертеть дырку на диске", а с принудительным Flush так тем более ;-)
В смысле "провертеть дырку"?
в прямом..они-же сохраняются на диск после изменений (кроме случая когда задал GlobalVariableTemp)
частая перезапись файла или его фрагмента ведёт к "дырке". Разделяйте, "эти переменные меняются часто-часто пусть будут Temp, а эти держат стейт их писать аккуратно". Старт программ должен подразумевать что GV отсутствуют и способ проверки их корректности, гонки образуются
и кстати они (GV) не то чтобы очень быстрые. Если пишете на C/C++ есть смысл их менять в своих проектах на atomic, tsv или key-value базы
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования