Logo

Вход

Войти с помощью соц. сетей
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения
ТОП СООБЩЕНИЙ
02.02.2017, 14:00
Лучший ответ
Выплачено: 29906 RUB
Сообщение от dantetemp Посмотреть сообщение
есть глобальная переменная. ее значение меняется пользователем кнопкой на графике. но почему-то при переключении на другой тайм фрейм переменная снова берет значения изначально прописанные на глобальном уровне.

mql5

подкиньте, пожалуйста, идеи, как это можно исправить.
Ну сова переинициализируется в момент смены таймфрема, может стоит отлавливать переменную reason в функции
MQL код:
void OnDeinit(const int reason)

Это из MQL4, думаю в пятёрке тоже самое!
04.02.2017, 22:47
Лучший ответ
Выплачено: 24584 RUB
Сообщение от dantetemp Посмотреть сообщение
есть глобальная переменная. ее значение меняется пользователем кнопкой на графике
Смена тайм-фрейма, как это не печально, ведет к полной перерисовке графика и к инициализации установленных на него индикаторов и советников.
Сообщение от dantetemp Посмотреть сообщение
подкиньте, пожалуйста, идеи, как это можно исправить
Это не нужно исправлять - нужно просто хранить значение где-то вовне программы. Самое простой - глобальные переменные терминала. Или же в файле.
12.04.2017, 03:04
Лучший ответ
Выплачено: 69915 RUB
Сообщение от dantetemp Посмотреть сообщение
есть глобальная переменная. ее значение меняется пользователем кнопкой на графике. но почему-то при переключении на другой тайм фрейм переменная снова берет значения изначально прописанные на глобальном уровне.

mql5

подкиньте, пожалуйста, идеи, как это можно исправить.

Сов твой или исходников нет? Если твой то просто в ините() вместо тупой инициализации переменной пишешь код:

MQL код:

if ( !GlobalVariableCheck( "VARIABLE" ) == TRUE ){ // Если переменная НЕ найдена
GlobalVariableSet( "VARIABLE", 0 ); // Создаём переменную, и присваиваем ей значение
}


Если не твой, тогда не балуйся переключением ТФ на том графике где сов , открой другой и там переключайся.
  • #1 Свернуть

    глобальная переменная сбрасывается при переключении на другой тайм фрейм

    есть глобальная переменная. ее значение меняется пользователем кнопкой на графике. но почему-то при переключении на другой тайм фрейм переменная снова берет значения изначально прописанные на глобальном уровне.

    mql5

    подкиньте, пожалуйста, идеи, как это можно исправить.
  • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
  • #2 Свернуть

    Сообщение от dantetemp Посмотреть сообщение
    есть глобальная переменная. ее значение меняется пользователем кнопкой на графике. но почему-то при переключении на другой тайм фрейм переменная снова берет значения изначально прописанные на глобальном уровне.

    mql5

    подкиньте, пожалуйста, идеи, как это можно исправить.
    Ну сова переинициализируется в момент смены таймфрема, может стоит отлавливать переменную reason в функции
    MQL код:
    void OnDeinit(const int reason)

    Это из MQL4, думаю в пятёрке тоже самое!
    "Правила рынка" (с)

    Комментарий

    • #3 Свернуть

      Сообщение от dantetemp Посмотреть сообщение
      есть глобальная переменная. ее значение меняется пользователем кнопкой на графике
      Смена тайм-фрейма, как это не печально, ведет к полной перерисовке графика и к инициализации установленных на него индикаторов и советников.
      Сообщение от dantetemp Посмотреть сообщение
      подкиньте, пожалуйста, идеи, как это можно исправить
      Это не нужно исправлять - нужно просто хранить значение где-то вовне программы. Самое простой - глобальные переменные терминала. Или же в файле.
      Реализую за ваши деньги ваши идеи на MQL - mql@fx-prog.ru

      Комментарий

      • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
      • #4 Свернуть

        Сообщение от dantetemp Посмотреть сообщение
        есть глобальная переменная. ее значение меняется пользователем кнопкой на графике. но почему-то при переключении на другой тайм фрейм переменная снова берет значения изначально прописанные на глобальном уровне.

        mql5

        подкиньте, пожалуйста, идеи, как это можно исправить.

        Сов твой или исходников нет? Если твой то просто в ините() вместо тупой инициализации переменной пишешь код:

        MQL код:

        if ( !GlobalVariableCheck( "VARIABLE" ) == TRUE ){ // Если переменная НЕ найдена
        GlobalVariableSet( "VARIABLE", 0 ); // Создаём переменную, и присваиваем ей значение
        }


        Если не твой, тогда не балуйся переключением ТФ на том графике где сов , открой другой и там переключайся.

        Комментарий

        working...
        X