void PlaySoundEachXMinutesForYTimes(string SoundFile ="Alert",// Звуковой файлint SoundLength =1,// Длина звукового файла в секундахint XMinutes =5,// Период в минутах int YTimes =3,// Количество повторенийint SecToPlayAll =45// Время в секундах, за которое
// надо успеть сделать заданное
// количество повторений){/*
Зависит от тиков, может работать в индикаторе.
Звук воспроизводится каждые XMinutes минут, по YTimes раз, с интервалом
SoundLength секунд. Если за SecToPlayAll секунд от начала очередного
временного отрезка из XMinutes не удалось выполнить заданное количество
повторений воспроизведения звука, то выполняется ожидание начала
следующего отрезка из XMinutes минут.
По первому тику нового отрезка из XMinutes звук вопроизводится всегда,
независимо от SecToPlayAll, а повторения зависят от SecToPlayAll.
*/int cur=TimeCurrent()/(XMinutes*60);staticint pre=0;staticdatetime LastTime;staticint Times;if(pre==0){
pre=cur;return;}if(pre!=cur){
pre=cur;PlaySound(SoundFile);
LastTime=TimeCurrent();
Times=YTimes-1;return(0);}if(Times>0){if(TimeCurrent()>=cur*(XMinutes*60)+SecToPlayAll){
Times=0;return;}if(TimeCurrent()>=LastTime+SoundLength){PlaySound(SoundFile);
Times--;
LastTime=TimeCurrent();}}}
оо, отлично, да вот только неувязочка, нужно проиграть 3 подряд, сразу. А в данном случае если между тиками будет интервал в 10 секунд, то после поигрывания первого раза будет перерыв в 10 секунд
Я писал пример вам как это можно сделать, никто не мешает вам запустить цикл в котором вы будете знать задержку точно.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
оо, отлично, да вот только неувязочка, нужно проиграть 3 подряд, сразу. А в данном случае если между тиками будет интервал в 10 секунд, то после поигрывания первого раза будет перерыв в 10 секунд
Я писал пример вам как это можно сделать, никто не мешает вам запустить цикл в котором вы будете знать задержку точно.
зацикленый скрипт нужен
а индикаторы или советник работает потиково...
и там слееп неочень адекватно использовать!
наверно нужно делать из индикатора или советника
вызов скрипта! путём симуляции нажатия клавиш
а пятиминутки можно смотреть путём
Volume[0] == 1 соответсвенно на тай фрейме 5 минутка
получаем вызов скрипта 1 раз при нарисовки нового 5 минутного бара!
а дальше уже количество и качество и прочие параметры можно настроить в скрипте
который будет фигачить независимо от остального
Запускаешь зацикленный скрипт с соунд-функцией который следит за состоянием глобал-флага,
и при его true делает тройной проигрыш и фальшит флаг.
В true же флаг ставит индикатор. Всё.