void start() { if(((High[1]-Low[1])> 3*(Open[1]-Close[1]))&&((Open[1]-Close[1])> 3)){ // цена high минус low больше чем // цена открытия минус цена закрытия умноженное на три // цена открытия минус цена закрытия больше чем три MessageBox("1-1 *Danger!!!* ","Бар №"); PlaySound ("alert.wav"); } return; }
Если использовать как скрипт, то он бесполезен. Если как советник, то условие (Open[1]-Close[1])> 3 не будет работать, и когда исправишь, то после наступления условия, он замучает тебя сигналами до прихода следующего бара.
FAQ:
Спасибо.
Roger:
Если использовать как скрипт, то он бесполезен. Если как советник, то условие (Open[1]-Close[1])> 3 не будет работать, и когда исправишь, то после наступления условия, он замучает тебя сигналами до прихода следующего бара.
Если использовать как скрипт, то он бесполезен. Если как советник, то условие (Open[1]-Close[1])> 3 не будет работать, и когда исправишь, то после наступления условия, он замучает тебя сигналами до прихода следующего бара.
Я немного изменил код, он работает как мне нужно, Но ты прав он сигналит при каждом тике, можешь подсказать как сделать чтобы звук был только 1 раз ?
вот код :
void start()
{
double a=((Open[1]-Close[1])*10000);
double r=((High[1]-Low[1])*10000);
double ho=((High[1]-Open[1])*10000);
double hc=((High[1]-Close[1])*10000);
double ol=((Open[1]-Low[1])*10000);
double cl=((Close[1]-Low[1])*10000);
double f= a, s;
s=MathAbs(f); // Вывод: абсолютная величина -a есть a
if(((3*f)< r )&&(f > 3)&&(((ho<3)||(hc<3)&&(Low[1]<Low[2]))||((ol<3)||(cl<3)&&(High[1]>High[2])))) // условие
{Print(" DANGER ", r," и ", f );
PlaySound ("expert1.wav");}
return ;
void start() { static int newbar; if(newbar==Time[0])return; newbar=Time[0]; double a=((Open[1]-Close[1])*10000); double r=((High[1]-Low[1])*10000); double ho=((High[1]-Open[1])*10000); double hc=((High[1]-Close[1])*10000); double ol=((Open[1]-Low[1])*10000); double cl=((Close[1]-Low[1])*10000); double f= a, s; s=MathAbs(f); // Вывод: абсолютная величина -a есть a if(((3*f)< r )&&(f > 3)&&(((ho<3)||(hc<3)&&(Low[1]<Low[2]))||((ol<3)||(cl<3)&&(High[1]>High[2])))) // условие {Print(" DANGER ", r," и ", f ); PlaySound ("expert1.wav");} return ;
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всем привет, я не шарю в языке mql4, поэтому не знаю правильно ли я написал скрипт.
Суть в том что терминал должен издавать Звук, если Бар подходит под условия.
Вот скрипт:
void start()
{
if(((High[1]-Low[1])> 3*(Open[1]-Close[1]))&&((Open[1]-Close[1])> 3)) // цена high минус low больше чем
// цена открытия минус цена закрытия умноженное на три
// цена открытия минус цена закрытия больше чем три
MessageBox("1-1 *Danger!!!* ","Бар №");
PlaySound ("alert.wav");
return(0);
}