Группа "Стол заказов MQL"

Рейтинг 2146



РЕКОМЕНДУЮ



Алерт при пересечении уровня

Добрый день уважаемый программист, подобных заказов у вас было много, а нужен именно такой, пожалуйста выполните этот заказ:

в настройках:
1) высота зоны — 20 пунктов
2) Звук при пересечении уровня — wait.wav
3) Алерт при пересечении уровня(только при отскоке) — true
4) отправка на почту при пересечении уровней — true
5) Расстояние при пересечении уровня и откате 50 пунктов — true |
6) Расстояние при пересечении уровня и откате 100 пунктов — true |
7) Расстояние при пересечении уровня и откате 150 пунктов — true |

т.е как только цена пересекла зону 300 пунктов(от открытия месяца) должно отправиться письмо на почту + звук(пункт 2)(алерта нету) далее если от зоны цена отскочила на 50 100 и 150п происходят пункты (2) (3) и (4) (т.е добавляется алерт)

Так же нужно учесть то что если цена будет гулять туда сюда(повторных алертов не должно быть!


Спасибо!!!
  • +2
  • Просмотров: 1985
  • 6 августа 2019, 15:37
  • vebster
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Индикатор пирсон для МТ5
Следующая запись в группе  
Прикрутить статистику к сове
05 августа 2019
06 августа 2019

Брокер для ваших роботов, 15 лет на рынке

Комментарии (4)

+
0
на 20-е
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 6 августа 2019, 17:43
+
0
Спасибо)))
avatar

  6  vebster Автор Сообщений: 205

  • 6 августа 2019, 18:17
+
0
пока так:) 




//+------------------------------------------------------------------+
//|                                                         Open.mq4 |
//|                                              Copyright 2019, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

input int p1=50;
input int p2=100;
input int p3=150;
input int p4=300;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Горизонтальная линия                                             |
//+------------------------------------------------------------------+
void PutHLine(string name,double p,color clr)
  {
   ObjectDelete(0,name);
   ObjectCreate(0,name,OBJ_HLINE,0,0,p);
//--- установим цвет линии
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//--- установим толщину линии
   ObjectSetInteger(0,name,OBJPROP_WIDTH,1);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   double op=iOpen(NULL,PERIOD_MN1,0);

   PutHLine("op",op,Blue);

   PutHLine("opp1",op+p4*_Point,Red);
   PutHLine("opm1",op-p4*_Point,Red);

   if(open[0]<op+p4*_Point && Bid>op+p4*_Point) Alert(_Symbol+" Пересечение линии!");
   if(open[0]>op-p4*_Point && Bid<op-p4*_Point) Alert(_Symbol+" Пересечение линии!");

   if(high[0]>op+p4*_Point && Bid==high[0]-p1*_Point) Alert(_Symbol+" Откат от уровня + "+(string)p1);
   if(low[0]<op+-p4*_Point && Bid==low[0]+p1*_Point) Alert(_Symbol+" Откат от уровня - "+(string)p1);

   if(high[0]>op+p4*_Point && Bid==high[0]-p2*_Point) Alert(_Symbol+" Откат от уровня + "+(string)p2);
   if(low[0]<op-p4*_Point && Bid==low[0]+p2*_Point) Alert(_Symbol+" Откат от уровня - "+(string)p2);

   if(high[0]>op+p4*_Point && Bid==high[0]-p3*_Point) Alert(_Symbol+" Откат от уровня + "+(string)p3);
   if(low[0]<op-p4*_Point && Bid==low[0]+p3*_Point) Alert(_Symbol+" Откат от уровня - "+(string)p3);

//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+


Редактирован: 16 августа 2019, 21:44
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 16 августа 2019, 21:31
+
0
Спасибо! большое спасибо
avatar

  6  vebster Автор Сообщений: 205

  • 3 сентября 2019, 19:56

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий