Добрый день! Подскажите как создать Alert на экране графика с помощью mql4? С помощью metatrader знаю как. Щелкаешь правой кнопкой на экране, выбираешь Торговля и Alert. То есть нужен не просто вывод в окне Alert сообщения, а объект на экране графика, который бы при пересечении установленного уровня выдавал звуковой сигнал с указанным мной звуковым файлом. В документации не нашел. Спасибо.
- Вопросы от начинающих MQL4 MT4 MetaTrader 4
- Звуковой сигнал Parabolic.
- Установка индикаторов на график с помощью советника
Так и пишется - Alert(), а для звука - PlaySound(). Подробнее см. справочник.
Нет, так не пойдет. В это случае мне самому придется следить за пересечением линии. Хотелось бы заранее создать объект на графике - аналог того что создается с помощью GUI метатредера (см. выше).
тогда никак
Спасибо за ответ.
Если с помощью GUI можно это сделать - значит и программно можно.
Может кто знает?
Конечно можно и отдельное окно с отдельным советником - но это как то не очень решение получается.
Создайте индикатор, у которого одна задача: отслеживать уровень цен.
Mikhail_Karpov:
Спасибо за ответ.Если с помощью GUI можно это сделать - значит и программно можно.Может кто знает?Конечно можно и отдельное окно с отдельным советником - но это как то не очень решение получается.
Вот Вам код скрипта, начните с него изучение MQL и адаптируйте под себя:Спасибо за ответ.Если с помощью GUI можно это сделать - значит и программно можно.Может кто знает?Конечно можно и отдельное окно с отдельным советником - но это как то не очень решение получается.
//+------------------------------------------------------------------+ //| AlertLine.mq4 | //| Copyright 2013, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2013, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict input string InpUpSound=""; input string InpUpMessage="Alert UP"; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { double close[1]; double price; //--- пока скрипт не снимут с графика for(;!IsStopped();Sleep(100)) { //--- перебираем все открытые чарты for(long chart_id=ChartFirst();chart_id!=-1;chart_id=ChartNext(chart_id)) { //--- обновим данные по символам (для скриптов и экспертов это обязательно) RefreshRates(); //--- забираем последнюю известную цену графика if(!CopyClose(ChartSymbol(chart_id),ChartPeriod(chart_id),0,1,close)) { Print("Не удалось получить данные по символу ",ChartSymbol(chart_id)); continue; } //--- ищем на графике объект с именем Alert UP if(ObjectFind(chart_id,"Alert UP")>=0) { //--- проверим, это должна быть горизонтальная линия if(ObjectGetInteger(chart_id,"Alert UP",OBJPROP_TYPE)==OBJ_HLINE) { //--- получим её координату цены if(ObjectGetDouble(chart_id,"Alert UP",OBJPROP_PRICE,0,price)) { //--- проверим пробитие вверх if(close[0]>price) { PlaySound(InpUpSound); MessageBox(InpUpMessage); } } } } } } } //+------------------------------------------------------------------+
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь