В советнике работает, а в индикаторе не правильно, музыка при старте индикатора

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
utock
149
utock  

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

пытаюсь сделать так:

#resource "hi_ex.wav"

static bool bPlayS=true;

в OnInit вставляю:

if(bPlaySound){
        PlaySound("hi_ex.wav");
        bPlayS=false;
}

И теперь при каждой смене ТФ проигрывается музыка

При чём в советнике всё прекрасно работает!

Vladimir Karputov
Модератор
192632
Vladimir Karputov  
utock:

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

пытаюсь сделать так:

в OnInit вставляю:

И теперь при каждой смене ТФ проигрывается музыка

При чём в советнике всё прекрасно работает!

Для индикатора смена таймрфейма - это загрузка по-новой.

Остаётся только такой путь: в OnDeinit() смотреть причину деинициализации и в зависимости от этого сохранять какое-то значение в глобальную переменную (ДОБАВЛЕНО: в глобальную переменную терминала). В OnInin() проверять эту глобальную переменную и понимать: это вообще первый запуск или просто смена таймфрейма.

Ihor Herasko
21760
Ihor Herasko  
Vladimir Karputov:

Для индикатора смена таймрфейма - это загрузка по-новой.

Остаётся только такой путь: в OnDeinit() смотреть причину деинициализации и в зависимости от этого сохранять какое-то значение в глобальную переменную. В OnInin() проверять эту глобальную переменную и понимать: это вообще первый запуск или просто смена таймфрейма.

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

Vladimir Karputov
Модератор
192632
Vladimir Karputov  
Ihor Herasko:

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

Я говорил про глобальные переменные терминала - это вроде и так ясно, ведь выше написал:

Но для буквоедов СПЕЦИАЛЬНО, дополню своё сообщения - вдруг ещё кто попадётся.

Ihor Herasko
21760
Ihor Herasko  
Vladimir Karputov:

Я говорил про глобальные переменные терминала - это вроде и так ясно, ведь выше написал:

Но для буквоедов СПЕЦИАЛЬНО, дополню своё сообщения - вдруг ещё кто попадётся.

Так вот в том то и дело, что неясно. Если есть две сущности с похожими названиями, то стоит всегда уточнять, о чем идет речь. Не первый раз посты здесь пишете. И буквоедство здесь не при чем. Ведь "глобальные переменные" и "глобальные переменные терминала" - пишутся по-разному.

utock
149
utock  
ребят так возможно сделать такое в индикаторе или же нет?
Ihor Herasko
21760
Ihor Herasko  
utock:
ребят так возможно сделать такое в индикаторе или же нет?

Да.

  1. При запуске индикатор создает глобальную переменную терминала. Мол - я загрузился.
  2. Проигрывается приветствие.
  3. При выгрузке (проверяется в OnDeinit) глобальная переменная терминала удаляется.
  4. Если в процессе работы переключен ТФ или изменены параметры, то при выходе в OnInit проверяется наличие глобальной переменной терминала. Если есть, то приветствие не проигрывается. Если нет - звучит.
Taras Slobodyanik
38219
Taras Slobodyanik  
5. Еще можно оставлять какой-нибудь объект на чарте, и при старте проверять его наличие-состояние.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий