Тем, что очень хочется на живом примере раз и навсегда разобраться с этим вопросом. Тем более у меня нет понимания как сделать переменную статической, а поиск по этому сайту уже более суток у меня выдает ошибку.
https://docs.mql4.com/ru/basis/variables
https://docs.mql4.com/ru/runtime/start
Читайте доку , ибо она рулит
Если я правильно понял, то достаточно перед init объявить переменную Depo2 в следующем виде: static double Depo2;.
Или в init: static double Depo2=0;
Тем, что очень хочется на живом примере раз и навсегда разобраться с этим вопросом. Тем более у меня нет понимания как сделать переменную статической, а поиск по этому сайту уже более суток у меня выдает ошибку.
попробуйте с таким скриптом поэкспериментировать:
#property show_inputs extern int My_Magic_Value = 12345; int start(){ string s; int value; s = TimeToStr(Time[0],TIME_DATE); //Имя глоб.переменной будет сегодняшняя дата в формате yyyy.mm.dd if (GlobalVariableCheck(s)){ //Проверим существование переменной с именем сегодняшняя дата value = GlobalVariableGet(s); if (value == My_Magic_Value){ //______________________________________________________ // действия если сегодня уже устанавливалась переменная Print("Сегодня уже устанавливалась глобальная переменая"); }else { //______________________________________________________ // действия если переменная существует, НО наш My_Magic_Value не соответствует найденому GlobalVariableDel(s); GlobalVariableSet(s,My_Magic_Value); Print("Глобальная переменая уже существует, переменная удалена и создана"); } }else{ //______________________________________________________ // действия если сегодня не устанавливалась переменная GlobalVariableSet(s,My_Magic_Value); } return(0); } //+------------------------------------------------------------------+
попробуйте с таким скриптом поэкспериментировать:
Надо бы еще вчерашние переменные удалять
Надо бы еще вчерашние переменные удалять
подправь пожалуйста, интересно глянуть - код за пару минут набросал (пытаюсь вернуться в программирование, сноровку видимо потерял уже)
попробуйте с таким скриптом поэкспериментировать:
Со своим вариантом и с обнулением я разобрался. И за это всем большое спасибо.
А вот твой пример меня озадачил, не получается разобраться какой смысл от этого скрипта.
Со своим вариантом и с обнулением я разобрался. И за это всем большое спасибо.
А вот твой пример меня озадачил, не получается разобраться какой смысл от этого скрипта.
Ваш пример только телепаты видят )))))
а в моем примере можно раз в сутки делать "отметку" в глобальных переменных о том, что сегодня код запускался, если код сегодня запускался, значит можно произвести действия по поиску сохраненных данных, если сегодн якод не запускался, значит предполагаем, что нет сохранных данных. Да и код выложил чтобы показать пример использования глобальных переменных.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем привет!
Я часто сталкиваюсь с проблемой обнуления параметров, вот и сейчас столкнулся. Пожалуйста, объясните на живом примере, как избегать обнуления.
Сейчас возникла потребность в записи размера депозита и дальнейшей проверке:
1. Записать AccountEquity() до открытия позиции. Например: Depo1=AccountEquity();
2. Провести сравнение и запись. Например: if (Depo1>Depo2) Depo2=Depo1;
Пожалуйста, подскажите как реализовать подобный алгоритм, чтобы Depo2 при запуске советника был равен нулю, а при отключении или остановке советника обнулялся (при этом во время работы не обнулялся)???