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

Рейтинг 2155



РЕКОМЕНДУЮ



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

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

в настройках:
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
  • Просмотров: 2075
  • 6 августа 2019, 15:37
  • vebster
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

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

+
0
на 20-е
avatar

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

  • 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 Сообщений: 16526 - Андрей

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

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

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

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