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

Рейтинг 1353



РЕКОМЕНДУЮ



Добавить стрелку в индикатор

Доброго времени суток, хотел попросить добавить стрелку к индикатору из этого топика zakaz.opentraders.ru/49482.html за ранее благодарен
  • 0
  • Просмотров: 426
  • 12 марта 2019, 09:18
  • magsu
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

+
0
на 15-е
avatar

  27  AM2 Сообщений: 8912 - Андрей

  • 12 марта 2019, 17:22
+
0
Спасибо*lalala* 
avatar

  8  magsu Автор Сообщений: 16

  • 12 марта 2019, 18:23
+
0
avatar

  27  AM2 Сообщений: 8912 - Андрей

  • 13 марта 2019, 20:08
+
0
Круто.огромное спасибо
avatar

  8  magsu Автор Сообщений: 16

  • 14 марта 2019, 10:42
+
0
Уважаемый Андрей, можете подправить. Алерт творит тихий ужас, куча сигналов в секунду и дикий треск в динамиках.
А без алертов стрелки не отображаются почему то *cry* .

Помогите мне алерт не нужен, лучше выбор метода добавьте пожалуйста *help* 
Редактирован: 14 марта 2019, 17:22
avatar

  13  cerber04 Сообщений: 371

  • 14 марта 2019, 17:19
+
0
Алерт творит тихий ужас, куча сигналов в секунду и дикий треск в динамиках.
А без алертов стрелки не отображаются почему то


закажите нужную вам конфигурацию. треск пропал когда уменьшил количество баров для просчета:


//+------------------------------------------------------------------+
//|                                                    FractalMA.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

#property  indicator_buffers 2

double up[];
double dn[];

input int MAPeriod=5;
input int BarsCount=11;
input bool Alerts=1;

datetime t=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexStyle(0,DRAW_ARROW,0,1,Lime);
   SetIndexStyle(1,DRAW_ARROW,0,1,Red);
   SetIndexBuffer(0,up);
   SetIndexBuffer(1,dn);
   SetIndexArrow(0,233);
   SetIndexArrow(1,234);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---

   if(t!=time[0] && Alerts)
     {
      for(int i=0;i<BarsCount;i++)
        {
         double ma=iMA(NULL,0,MAPeriod,0,0,0,i);
         double hi=iFractals(NULL,0,MODE_UPPER,i+4);
         double lo=iFractals(NULL,0,MODE_LOWER,i+4);

         if(close[i]>ma && lo>0)
           {
            up[i]=low[i];
            Alert(_Symbol+" Buy!");
           }
         if(close[i]<ma && hi>0)
           {
            dn[i]=high[i];
            Alert(_Symbol+" Sell!");
           }
        }
      t=time[0];
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

avatar

  27  AM2 Сообщений: 8912 - Андрей

  • 14 марта 2019, 20:09
+
0
тоже заметил что алерт постоянно трезвонит. а если его отключить пропадают стрелки*???* 
avatar

  8  magsu Автор Сообщений: 16

  • 14 марта 2019, 21:40
+
+1
Вот доработал сам, добавил вывод настроек МА и выбор бара на котором сигналить.
Алерт закоментировал, тестите на здоровье. Мне понравилась идея. <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/009.gif?newyear' alt=' <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/009.gif?newyear' alt=' <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/009.gif?newyear' alt=' <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/009.gif?newyear' alt=' <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/009.gif?newyear' alt=' 8-) '>&nbsp; '>&nbsp; '>&nbsp; '>&nbsp; '>&nbsp; 

<code>
//+------------------------------------------------------------------+
//|                                                    FractalMA.mq4 |
//|                                              Copyright 2019, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, AM2&&cerber04"
#property link      "http://www.forexsystems.biz"
#property version   "1.01"
#property strict
#property indicator_chart_window
#property description "Сигнал после фрактала на второй свече"
#property  indicator_buffers 2
//доработан cerber04

double up[];
double dn[];

extern int fr=4;
//бар после которого сигнал
extern int MAPeriod=28;
input int  MAShift=0;          
extern int MAMethod=MODE_SMA;  
extern int MAPrice=0;  
input int BarsCount=1111;
 

//Цена быстрой МА: 0-Close, 1-Open, 2-High, 3-Low, 4-Median, 5-Typical, 6-Weighted 


//input bool Alerts=0;

datetime t=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexStyle(0,DRAW_ARROW,0,1,Lime);
   SetIndexStyle(1,DRAW_ARROW,0,1,Red);
   SetIndexBuffer(0,up);
   SetIndexBuffer(1,dn);
   SetIndexArrow(0,233);
   SetIndexArrow(1,234);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutArrow(string name,int code,double p,datetime time,color clr)
  {
//--- создадим стрелку
   ObjectDelete(0,name);
   ObjectCreate(0,name,OBJ_ARROW,0,time,p);
//--- установим код стрелки
   ObjectSetInteger(0,name,OBJPROP_ARROWCODE,code);
//--- установим способ привязки
   ObjectSetInteger(0,name,OBJPROP_ANCHOR,ANCHOR_CENTER);
//--- установим цвет стрелки
   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[])
  {
//---
  
   if(t!=time[0] )
   //if(t!=time[0] && Alerts)
     {
      for(int i=0;i<BarsCount;i++)
        {
         double ma=iMA(NULL,0,MAPeriod,0,MAMethod,MAPrice,i);//PRICE_TYPICAL 5
         
 
         double hi=iFractals(NULL,0,MODE_UPPER,i+fr); //"4"- бар после которого сигнал
         double lo=iFractals(NULL,0,MODE_LOWER,i+fr);


         if(close[i]>ma && lo>0 ) 
           {
            up[i]=low[i];
            
          //Alert(_Symbol+" Buy!");
           }
         if(close[i]<ma && hi>0) 
          {
            dn[i]=high[i];
            
         //  Alert(_Symbol+" Sell!");
           }
        }
      t=time[0];
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
</code>

Не забудьте плюсики поставить, будет приятно *victory* 
Редактирован: 16 марта 2019, 03:53
avatar

  13  cerber04 Сообщений: 371

  • 16 марта 2019, 03:35
+
0
По этому индюку на этом сайте уже даже советник есть.Стратегия четырёх топик называется(если не путаю)
avatar

  4  alex30774 Сообщений: 34

  • 16 марта 2019, 09:18

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