Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1058

 
Vitaliy Maznev:

Во всяком случае, логически.

Не логично...

функции Alert и Playsound никак не связаны

 
MakarFX:

Не логично...

функции Alert и Playsound никак не связаны

А вам Alert обязательно со звуком? Почему вы так упорно отказываетесь от предложения отключить ему звук и использовать звук только Playsound()

 
MakarFX:

Не логично...

функции Alert и Playsound никак не связаны

Я человек далекий от программирования. Не совсем понимаю почему функция Playsound не подходит для вывода ваших звуков. Но вариант такой представил.

Однако из беседы я понял, что в совокупности Alert а потом Playsound ваше требование частично удовлетворяют. Но звука выходит два, так? Исходя из этого, логически вижу решение заменить звук алерта на тишину. Тогда аудиально будут слышны только заданные вами звуки.

 
Alexey Viktorov:

А вам Alert обязательно со звуком? Почему вы так упорно отказываетесь от предложения отключить ему звук и использовать звук только Playsound()

Я не отказываюсь. Алерт установил emty.wav, а в идикаторе Playsound разделил по событиям.
 
Vitaliy Maznev:

Я человек далекий от программирования. Не совсем понимаю почему функция Playsound не подходит для вывода ваших звуков. Но вариант такой представил.

Playsound подходит для вывода звуков, но не подходит для назначения звуков Алерт.

Алерт не просто звук, но еще и окно с инфой и использует звук из настроек МТ4, т.е. в индикаторе для Алерта назначить другой звук нельзя.

 
Alexey Viktorov:

Только наоборот, сначала Alert() затем PlaySound(). Иначе PlaySound() не успеет даже начать проигрывание, Alert() забьёт его.

Alert() забивает PlaySound()

что надо здесь поправить?

void Signal(string st) {
  if (UseAlert) Alert(st);
  if (UseComment) Comment(st);
  if (UseSendMail) SendMail(WindowExpertName(), st);
  if (UseSendPush) SendNotification(st);
  if (UsePrint) Print(st);
  if (UseSound) PlaySound(sotFileName);
}

или здесь

        if (StringLen(sh)>0) st=sh+st;
        Signal(st);
 
MakarFX:

Alert() забивает PlaySound()

что надо здесь поправить?

или здесь

Я уже лет 10 не использую ни Alert(), ни PlaySound(). Но на сколько помню, у Alert() звук очень короткий и PlaySound() должен работать без проблем. Даже не знаю что посоветовать... Sleep в индикаторах не работает. Может лучше Alert() заменить на MessageBox() и после него PlaySound().

У меня вообще вот так настроены оповещения


 
Alexey Viktorov:

Может лучше Alert() заменить на MessageBox() и после него PlaySound().

Внес изменения

void Signal(string st) {
  if (UseAlert) MessageBox(st,Symbol(),1);
  if (UseComment) Comment(st);
  if (UseSendMail) SendMail(WindowExpertName(), st);
  if (UseSendPush) SendNotification(st);
  if (UsePrint) Print(st);
  if (UseSound) PlaySound(sotFileName);
}
Не выводит никаких сообщений(
 
MakarFX:

Внес изменения

Не выводит никаких сообщений(

Вы понимаете как надо проверять правильность своих действий? Мне кажется, что нет. Вы хоть что-то прочли об этой функции? Вы читали, что в тестере не работает так-же как и Alert() или ваше дело заменить, а там пусть советчики разбираются чего насоветовали?

К счастью, написано без ошибок. Почему не вызывается обратитесь в клуб телепатов.

 
Alexey Viktorov:

Вы понимаете как надо проверять правильность своих действий? Мне кажется, что нет. Вы хоть что-то прочли об этой функции? Вы читали, что в тестере не работает так-же как и Alert() или ваше дело заменить, а там пусть советчики разбираются чего насоветовали?

К счастью, написано без ошибок. Почему не вызывается обратитесь в клуб телепатов.

Я не программист, редактирую индикатор для своего удобства. Проверял не в тестере,а в реальном времени.

Кстати, телепатов не существует.

Если знаете в каком из доступных здесь индикаторов используется эта функция, то подскажите пожалуйста, возможно тогда я разберусь сам.

Спасибо

Причина обращения: