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

Рейтинг 1401



РЕКОМЕНДУЮ



Индикатор для МТ4

Мультивалютный индикатор на основе индикатора ЗигЗага.
Параметры:
ZigZag Depth
ZigZag Deviation
ZigZag Backstep
Выбор таймфрейма для отслеживания графиков
Уведомление:
Push уведомление на смартфон/e-mail уведомление.
Звуковой сигнал с надписью на графике информации о символе, ТФ и т.д.

Индикация на графике соответствующей валютной пары/инструмента.
В параметрах индикаторы устанавливается список отслеживаемых валютных пар/инструментов. Индикатор запускается только на одном графике, но отслеживаются и отправляются уведомления по всем выбранным парам/инструментам. Уведомление по каждой валютной паре отправляются один раз в день.
Принцип работы.
Отслеживаем последние две точки (максимум и минимум) уже сформировавшихся линий ЗигЗага. Как только текущий цена обновляет максимум или минимум направляем уведомление на е-mail с содержанием: Символ, Таймфрем, High renewed /low renewed, и если запустить график этого символа то видем стрелку (отметку) на точке, где произошло обновление.

Заранее благодарен.
  • +5
  • Просмотров: 2220
  • 9 декабря 2016, 22:46
  • izzatilla
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Копировщик ордеров.
Следующая запись в группе  
Советник на двух машках для MT4
07 декабря 2016
10 декабря 2016

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

+
0
Изобразите на скрине все то что вы хотите?
avatar

  28  AM2 Сообщений: 9660 - Андрей

  • 10 декабря 2016, 15:09
+
0
avatar

  5  izzatilla Автор Сообщений: 107 - telma

  • 10 декабря 2016, 17:14
+
+1
Реально сделать такую штуку. В понедельник начну делать.
avatar

  28  AM2 Сообщений: 9660 - Андрей

  • 10 декабря 2016, 19:29
+
0
<code>
//+------------------------------------------------------------------+
//|                                                        DT_ZZ.mq4 +
//|                                                                  +
//|                           20.03.16 добавил звук поручик          +
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, klot."
#property link      "klot@mail.ru"

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 clrMagenta
#property indicator_color2 clrDeepPink
#property indicator_color3 clrDodgerBlue

#property indicator_width2 1
#property indicator_width3 1 


//---- indicator parameters
extern int    ExtDepth        = 12;
extern bool   alertsOn        = true;
extern bool   alertsOnCurrent = true;
extern bool   alertsMessage   = true;
extern bool   alertsSound     = true;
extern bool   alertsEmail     = false;

extern bool use_sound = true;
extern string up_sound = "Пробой_вверх";
extern string down_sound = "Пробой_вниз";



double zzL[];
double zzH[];
double zz[];


int init()
  {
   
   SetIndexBuffer(0,zz);  SetIndexStyle(0,DRAW_SECTION);  
   SetIndexBuffer(1,zzH); SetIndexStyle(1,DRAW_ARROW);   
   SetIndexBuffer(2,zzL); SetIndexStyle(2,DRAW_ARROW);   
   
   SetIndexArrow(1,236);
   SetIndexArrow(2,238);
   
   
   SetIndexEmptyValue(0,0.0);
   SetIndexEmptyValue(1,0.0);
   SetIndexEmptyValue(2,0.0);
     

   IndicatorShortName("DT_ZZ("+ExtDepth+")");

   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   int    i,shift,pos,lasthighpos,lastlowpos,curhighpos,curlowpos;
   double curlow,curhigh,lasthigh,lastlow;
   double min, max;
   ArrayInitialize(zz,0.0);
   ArrayInitialize(zzL,0.0);
   ArrayInitialize(zzH,0.0);
   
   lasthighpos=Bars; lastlowpos=Bars;
   lastlow=Low[Bars];lasthigh=High[Bars];
  for(shift=Bars-ExtDepth; shift>=0; shift--)
    {
      curlowpos=Lowest(NULL,0,MODE_LOW,ExtDepth,shift);
      curlow=Low[curlowpos];
      curhighpos=Highest(NULL,0,MODE_HIGH,ExtDepth,shift);
      curhigh=High[curhighpos];
      //------------------------------------------------
      if( curlow>=lastlow ) { lastlow=curlow; }
      else
         { 
            //идем вниз
            if( lasthighpos>curlowpos  ) 
            { 
            zzL[curlowpos]=curlow;
              ///*
              min=100000; pos=lasthighpos;
               for(i=lasthighpos; i>=curlowpos; i--)
                  { 
                    if (zzL[i]==0.0) continue;
                    if (zzL[i]<min) { min=zzL[i]; pos=i; }
                    zz[i]=0.0;
                  } 
               zz[pos]=min;
               //*/
            } 
          lastlowpos=curlowpos;
          lastlow=curlow; 
         }
      //--- high
      if( curhigh<=lasthigh )  { lasthigh=curhigh;}
      else
         {  
            // идем вверх
            if( lastlowpos>curhighpos ) 
            {  
            zzH[curhighpos]=curhigh;
           ///*
               max=-100000; pos=lastlowpos;
               for(i=lastlowpos; i>=curhighpos; i--)
                  { 
                    if (zzH[i]==0.0) continue;
                    if (zzH[i]>max) { max=zzH[i]; pos=i; }
                    zz[i]=0.0;
                  } 
               zz[pos]=max;
           //*/     
            }  
         lasthighpos=curhighpos;
         lasthigh=curhigh;    
         } 
         }      
    //---------------------------------------------------------------------

   if (alertsOn)
   {
      if (alertsOnCurrent)
         int whichBar = 0;
      else   whichBar = 1;
      if (zzH[whichBar] > 0) PlaySound("Пробой_вверх.wav");
  
      if (zzL[whichBar] > 0) PlaySound("Пробой_вниз.wav");
    
   }   
   return(0);
}

//+------------------------------------------------------------------+
//
//
//
//
//

void doAlert(string doWhat)
{
   static string   previousAlert="nothing";
   static datetime previousTime;
   string message;
   
      if (previousAlert != doWhat || previousTime != Time[0]) {
          previousAlert  = doWhat;
          previousTime   = Time[0];

         //

          message =  StringConcatenate(Symbol()," at ",TimeToStr(TimeLocal(),TIME_SECONDS)," DT_ZZ ",doWhat);
             if (alertsMessage) Alert(message);
             if (alertsEmail)   SendMail(StringConcatenate(Symbol()," DT_ZZ "),message);
             if (alertsSound)   PlaySound("alert2.wav");
      }
}



</code>

Редактирован: 11 декабря 2016, 08:53
avatar

  8  poruchik Сообщений: 139

  • 11 декабря 2016, 08:51
+
0


А если хай выше последнего хая ZZ?
Нет идеальных ZZ
avatar

  8  poruchik Сообщений: 139

  • 11 декабря 2016, 08:52
+
0
avatar

  28  AM2 Сообщений: 9660 - Андрей

  • 11 декабря 2016, 11:21
+
0
Нет стрелок почему то и звук отключаемым бы сделать
avatar

  8  poruchik Сообщений: 139

  • 11 декабря 2016, 13:25
+
0
Нет стрелок почему то

Особенности ТЗ:

и если запустить график этого символа то видем стрелку (отметку) на точке, где произошло обновление.
avatar

  28  AM2 Сообщений: 9660 - Андрей

  • 11 декабря 2016, 16:01
+
0
*good* 
avatar

  8  poruchik Сообщений: 139

  • 11 декабря 2016, 16:14
+
+1
Большая просьба добавить в инд. выбор варианта настройки:
— Строить Зиз-Заг по точкам закрытия свечей/баров Close
т.е. когда концы отрезков зиг-зага идут не между мин и макс, а между точками закрытия свечей,
это позволяем по-другому отслеживать состояние и «притормаживание», смену тренда/коррекций — крутизна линий меняеся по-другому.

Редактирован: 12 декабря 2016, 09:34
avatar

  9  preasto Сообщений: 350

  • 12 декабря 2016, 00:29
+
0
У Вас на тестере рисует стрелки а у меня нет, в чем может быть проблема?
avatar

  5  izzatilla Автор Сообщений: 107 - telma

  • 13 декабря 2016, 08:34
+
0
Если ТФ в настройках и на графике совпадают, тогда рисует стрелки.
avatar

  28  AM2 Сообщений: 9660 - Андрей

  • 13 декабря 2016, 11:36
+
0
Спасибо за разработку!
avatar

  5  izzatilla Автор Сообщений: 107 - telma

  • 16 декабря 2016, 12:54
+
0
Хороший советник! Если я правильно понял по нему можно реализовать стратегию ларри вильямса.
avatar

  1  PavelMT4 Сообщений: 1

  • 8 марта 2017, 22:39

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