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

Рейтинг 2088



РЕКОМЕНДУЮ



индикатор 2ма

приветствую кого не видел.
Здравствуйте Андрей.

индикатор строится так:
строятся две ма, одна из которых строится по растущим барам, другая по падающим барам.
  • 0
  • Просмотров: 3557
  • 4 февраля 2018, 15:43
  • igrun
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

+
0
Во вторник посмотрю.
avatar

  34  AM2 Сообщений: 15882 - Андрей

  • 4 февраля 2018, 15:49
+
0
Покажите на скринах как все это должно выглядеть и по какой формуле рассчитывать линии индикатора?
avatar

  34  AM2 Сообщений: 15882 - Андрей

  • 5 февраля 2018, 20:15
+
0
шаг 1
перебор всех свечей и тест на направление
шаг 2
соединение всех свечей в два тренда
шаг 3
расчет ма

точнее не смог
avatar

  22  igrun Автор Сообщений: 1574 - igrun

  • 5 февраля 2018, 21:26
+
0
Я пробовал сделать, не получилось быстро.


//+------------------------------------------------------------------+
//|                                                   BullBearMA.mq4 |
//|                                              Copyright 2018, AM2 |
//|                                      http://www.forexsyatems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, AM2"
#property link      "http://www.forexsyatems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

#property indicator_buffers    3
#property indicator_color1     Green
#property indicator_color2     Red
#property indicator_color3     Blue

input int MAPeriod=14;
//--- buffers
double bull[];
double bear[];
double ma[];
double bu[];
double be[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- 
   SetIndexBuffer(0,bull);
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(1,bear);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(2,ma);
   SetIndexStyle(2,DRAW_LINE);
//---
   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[])
  {
//---
   ArraySetAsSeries(bull,true);
   ArraySetAsSeries(bear,true);
   string s="";

   for(int i=0;i<10;i++)
     {
      if(close[i]>open[i]) bu[i]=close[i];
      if(close[i]<open[i]) be[i]=close[i];
      bull[i]=iMAOnArray(bu,0,MAPeriod,0,0,i);
      bear[i]=iMAOnArray(be,0,MAPeriod,0,0,i);
      ma[i]=iMA(NULL,0,MAPeriod,0,0,0,i);
      s=StringConcatenate(s,(string)bu[i]);
     }

   Comment("\n ARR: ",s);
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

avatar

  34  AM2 Сообщений: 15882 - Андрей

  • 6 февраля 2018, 19:37
+
0
почему то ничего не рисует.
в чем может быть причина?
avatar

  22  igrun Автор Сообщений: 1574 - igrun

  • 6 февраля 2018, 20:49
+
0
может в следующем месяце доделаете?
avatar

  22  igrun Автор Сообщений: 1574 - igrun

  • 6 февраля 2018, 21:28
+
0
Сегодня есть свободное время, посмотрю еще.
avatar

  34  AM2 Сообщений: 15882 - Андрей

  • 7 февраля 2018, 17:45
+
0
спасибо, огромное при огромное
avatar

  22  igrun Автор Сообщений: 1574 - igrun

  • 7 февраля 2018, 17:47
+
0
Вот :D 




//+------------------------------------------------------------------+
//|                                                   BullBearMA.mq4 |
//|                                              Copyright 2018, AM2 |
//|                                      http://www.forexsyatems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, AM2"
#property link      "http://www.forexsyatems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

#property indicator_buffers    4
#property indicator_color1     Green
#property indicator_color2     Red
#property indicator_color3     Blue

input int MAPeriod=14;
input int Count=1000;
//--- buffers
double bull[];
double bear[];
double bu[1];
double be[1];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- 
   SetIndexBuffer(0,bull);
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(1,bear);
   SetIndexStyle(1,DRAW_LINE);
//---
   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[])
  {
//---
   ArraySetAsSeries(bull,true);
   ArraySetAsSeries(bear,true);

   string s="";

   for(int i=0;i<Count;i++)
     {
      if(close[i]>open[i])
        {
         bu[ArraySize(bu)-1]=close[i];
         ArrayResize(bu,ArraySize(bu)+1);
        }

      if(close[i]<open[i]) 
        {
         be[ArraySize(be)-1]=close[i];
         ArrayResize(be,ArraySize(be)+1);
        }
     }

   for(int i=0;i<ArraySize(bu);i++) StringAdd(s,"\n "+(string)bu[i]);
   
   for(int i=0;i<ArraySize(bu);i++) bull[i]=iMAOnArray(bu,0,MAPeriod,0,0,i);
   for(int i=0;i<ArraySize(be);i++) bear[i]=iMAOnArray(be,0,MAPeriod,0,0,i);
   
   Comment("\n ARR: ",s);
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

avatar

  34  AM2 Сообщений: 15882 - Андрей

  • 7 февраля 2018, 18:42
+
0
:) работает
avatar

  22  igrun Автор Сообщений: 1574 - igrun

  • 7 февраля 2018, 19:44

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