Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1057
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Только-что проверил, изменить можно. Но это изменение будет на все алерты для терминала. А если надо на каждое условие, то надо использовать PlaySound(), но не в чужой функции, а самому понять как это работает.
PlaySound(), работает независимо от Алерта.
Я пробовал, воспроизводится два звука и Алерт и PlaySound(),
Спасибо, получилось.
Но не решает вопрос с разделением событий
еще раз
в настройка терминала отключите звук алерта
в MQL-коде выводите звук с помощью PlaySound() и следом вызывайте Alert() - так Вы добьетесь различных звуков для различных алертов, а просто назначить алерту какой либо звук и затем программно его изменить нет возможности из MQL-кода
еще раз
в настройка терминала отключите звук алерта
в MQL-коде выводите звук с помощью PlaySound() и следом вызывайте Alert() - так Вы добьетесь различных звуков для различных алертов, а просто назначить алерту какой либо звук и затем программно его изменить нет возможности из MQL-кода
Только наоборот, сначала Alert() затем PlaySound(). Иначе PlaySound() не успеет даже начать проигрывание, Alert() забьёт его.
еще раз
в настройка терминала отключите звук алерта
Вы имеете ввиду поставить пустой звук, потому что если в настройках отключить алерт, он вообще не работает
Только наоборот, сначала Alert() затем PlaySound(). Иначе PlaySound() не успеет даже начать проигрывание, Alert() забьёт его.
возможно, не проверял
там с PlaySound() есть некие приколы, по моему нужно и Sleep(150) между ним и алертом добавить, но это мелочи
возможно, не проверял
там с PlaySound() есть некие приколы, по моему нужно и Sleep(150) между ним и алертом добавить, но это мелочи
возможно, не проверял
там с PlaySound() есть некие приколы, по моему нужно и Sleep(150) между ним и алертом добавить, но это мелочи
PlaySound() с пустым именем останавливает воспроизведение текущего проигрываемого звука.
Вы имеете ввиду поставить пустой звук, потому что если в настройках отключить алерт, он вообще не работает
Долго читал код. Я не кодер реально, но там из функций которые есть, обратите внимание на следующее вначале:
extern bool UseSound = False; // Использовать звук
Наверное нужно изменить значение на True и уже к этой функции прикреплять свой звук. Это чтобы не вместе с алертом, а отдельно от него.
В конце кода (то что вы ранее публиковали) там следующее:
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);
}
Я так понимаю это переменные, которые выполняются функцией Signal. Ну и соответственно в коде эта функция Signal прописана в нескольких вариантах событий. И вот уже к каждому этому событию прописывать нужное значение (звук).
Пусть меня поправят программисты если я совсем запутал вопрос :)
Долго читал код. Я не кодер реально, но там из функций которые есть, обратите внимание на следующее вначале:
Пусть меня поправят программисты если я совсем запутал вопрос :)
Суть вопроса была в том, чтоб Алерт срабатывал с разными звуками в зависимости от события. UseSound относится только к функции PlaySound и не влияет на работу Алерта
Суть вопроса была в том, чтоб Алерт срабатывал с разными звуками в зависимости от события. UseSound относится только к функции PlaySound и не влияет на работу Алерта
Так функции Alert и Playsound в данном случае взаимозаменяемые же? Или я не правильно понял? Если нельзя прописать переменные в рамках функции Alert, а вас интересует именно пользовательский звук, то и заменить в каждом требуемом событии Alert на Playsound ((UseAlert) на (UseSound)). И получаем как раз то, что вам требуется. Во всяком случае, логически.