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

 

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

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

#resource "hi_ex.wav"

static bool bPlayS=true;

в OnInit вставляю:

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

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

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

 
utock:

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

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

в OnInit вставляю:

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

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

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

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

 
Vladimir Karputov:

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

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

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

 
Ihor Herasko:

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

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

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

 
Vladimir Karputov:

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

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

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

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

Да.

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