Ваши вопросы по языку MQL4

Chepchikk

Интересующийся
Всем привет! Подскажите, в нете все перелазил, не нашел... Есть скрип для установки отложенного ордера и выставления SL и TP. Не знаю как прикрутить установку стандартного алерта на график, что бы он встал на уровне 2/3 позиции. Алерт нужен для отправки письма на мыло.
 
Последнее редактирование:

Ugar

Гуру форума
Всем привет! Подскажите, в нете все перелазил, не нашел... Есть скрип для установки отложенного ордера и выставления SL и TP. Не знаю как прикрутить установку стандартного алерта на график, что бы он встал на уровне 2/3 позиции. Алерт нужен для отправки письма на мыло.
В чём проблема, в отправке письма или в условии отправки?
 

Artem2018

Местный знаток
Подскажите пожалуйста, как различить в файле mq4 скрипт, индикатор или советник? Какие нибудь кодовые слова, которые точно указывают, что именно в файле?
Иногда, пока не вставишь в терминал, не разберешься.
 

Ugar

Гуру форума
Подскажите пожалуйста, как различить в файле mq4 скрипт, индикатор или советник? Какие нибудь кодовые слова, которые точно указывают, что именно в файле?
Иногда, пока не вставишь в терминал, не разберешься.
В обновлённом языке в качестве основной функции, в скриптах используется OnStart(), в индикаторах OnCalculate(), в советниках OnTick(), OnTimer(). В старом языке так не отличить, там везде start().
В скриптах не используются функции инициализации и деинициализации, там они не нужны.
В индикаторах с буферами есть строчки начинающейся с #property indicator_
 

dmitriypetrov

Элитный участник
Добрый день , кто может помочь перекрутить в сову работу по времени ? например с 2 до 8 спасибо
Может сова обретет новую жизнь
 

Вложения

Ugar

Гуру форума
Проблема в том, что не могу найти функцию для установки алерта на график...
Alert() не отправляет письма. Есть функция отправки письма на почту
Код:
Expand Collapse Copy
bool  SendMail(
   string  subject,       // заголовок
   string  some_text      // текст письма
   );
 
Последнее редактирование:

sergeysv

Активный участник
Приветствую--
Подскажите пожалуйста в чём причина некорректной работы советника.
Позы открывает,но на обратном сигнале не закрывает и не открывает :)..
Чую проблема в if(TotalOpenOrdersSL() == 0 ) или в
if(TotalOpenOrdersSL() == 4 && SLIsNewBar() == true){ .....
но доказать не могу.
 

Вложения

  • 333.mq4
    333.mq4
    28 КБ · Просмотры: 22

Chepchikk

Интересующийся
Alert() не отправляет письма. Есть функция отправки письма на почту
Код:
Expand Collapse Copy
bool  SendMail(
   string  subject,       // заголовок
   string  some_text      // текст письма
   );
Про функцию SendMail знаю. Но эта функция работает сразу после активации скрипта, а я хотел сделать, что бы SendMail (или похожая функция отправки письма) активировался при достижении определенного ценового уровня, который рассчитает сам скрипт. Да, можно прикрутить вертикальную линию, а к ней уже отправку письма, но хотелось бы простой установки алерта на график, как через "правая кнопка мыши>Торговля>Алерт"
 
Последнее редактирование:

Ugar

Гуру форума
Про функцию SendMail знаю. Но эта функция работает сразу после активации скрипта, а я хотел сделать, что бы SendMail (или похожая функция отправки письма) активировался при достижении определенного ценового уровня, который рассчитает сам скрипт. Да, можно прикрутить вертикальную линию, а к ней уже отправку письма, но хотелось бы простой установки алерта на график, как через "правая кнопка мыши>Торговля>Алерт"
Программа в терминале ждёт заданного условия и потом отправляет письмо. Почему так же не сделать в скрипте? Запустил скрипт, он ждёт когда цена достигнет уровня. При выполнении условия, посылает письмо и завершает работу.
Но мне так реализация в виде скрипта не очень удобна, так как на графике может быть запущен только 1 скрипт. Лучше реализовать в виде индикатора.
 

Chepchikk

Интересующийся
Программа в терминале ждёт заданного условия и потом отправляет письмо. Почему так же не сделать в скрипте? Запустил скрипт, он ждёт когда цена достигнет уровня. При выполнении условия, посылает письмо и завершает работу.
Но мне так реализация в виде скрипта не очень удобна, так как на графике может быть запущен только 1 скрипт. Лучше реализовать в виде индикатора.
Спасибо за совет. Но я торгую на h4 и скрипт может быть в работе неделю, мне кажется это не айс). Щас времени мало заниматься, решил сделать так: Скрипт при установке ордера выдает алерт со значением ценового уровня и я ручками ставлю алерт на график)
 

Vlad0575

Прохожий
Добрый день!
Как краткосрочно подсветить окно конкретного графика по определённому событию? (использую многооконный режим, звуковой алерт не выход).
Возможно есть команда или функция?
 

mobidik

-----
Добрый день!
Как краткосрочно подсветить окно конкретного графика по определённому событию? (использую многооконный режим, звуковой алерт не выход).
Возможно есть команда или функция?
Команды/ф-ции нет, но можно узнать цвет фона графика, запомнить его, затем изменить на другой, а спустя n-сек., вернуть предыдущий фон окна графика.
 

Vlad0575

Прохожий
Интересный вариант с цветом фона, подскажете, чем ловить и выводить? Заранее благодарен.
 

mobidik

-----
Интересный вариант с цветом фона, подскажете, чем ловить и выводить? Заранее благодарен.
Все есть в справке:
Код:
Expand Collapse Copy
//+------------------------------------------------------------------+
//| Функция получает цвет фона графика.                              |
//+------------------------------------------------------------------+
color ChartBackColorGet(const long chart_ID=0)
  {
//--- подготовим переменную для получения цвета
   long result=clrNONE;
//--- сбросим значение ошибки
   ResetLastError();
//--- получим цвет фона графика
   if(!ChartGetInteger(chart_ID,CHART_COLOR_BACKGROUND,0,result))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
     }
//--- вернем значение свойства графика
   return((color)result);
  }
//+------------------------------------------------------------------+
//| Функция устанавливает цвет фона графика.                         |
//+------------------------------------------------------------------+
bool ChartBackColorSet(const color clr,const long chart_ID=0)
  {
//--- сбросим значение ошибки
   ResetLastError();
//--- установим цвет фона графика
   if(!ChartSetInteger(chart_ID,CHART_COLOR_BACKGROUND,clr))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
      return(false);
     }
//--- успешное выполнение
   return(true);
  }
 

5taY3r

Новичок форума
Всем привет. Подскажите пожалуйста, как программно получить разницу между fast-slow и signal линиями стандартного MACD? Примерно так: if(fastslow<signal) OpenSell();
Screenshot_13.png
Заранее спасибо.
 

mobidik

-----
Всем привет. Подскажите пожалуйста, как программно получить разницу между fast-slow и signal линиями стандартного MACD? Примерно так: if(fastslow<signal) OpenSell();
Посмотреть вложение 357305
Заранее спасибо.
Точно так, как в справке: iMACD - Технические индикаторы - Справочник MQL4
 

5taY3r

Новичок форума
Покурил доки...
Код:
Expand Collapse Copy
Macd=iMACD(NULL,0,12,26,9,0,MODE_MAIN ,1);
Signal=iMACD(NULL,0,12,26,9,0,MODE_SIGNAL,1);
if(Signal<Macd) OpenSell();
Буду пробовать... Спасибо!
 

Who has viewed this thread (Total: 7) Посмотреть

Верх