guppy_multiple_moving_averages

Author: Copyright 2015, Dmitriy Kudryashov, Katyusha Software Corp.
guppy_multiple_moving_averages
0 Views
0 Downloads
0 Favorites
guppy_multiple_moving_averages
//+------------------------------------------------------------------+
//|                               Guppy Multiple Moving Averages.mq4 |
//|       Copyright 2015, Dmitriy Kudryashov,Katyusha Software Corp. |
//|                       https://www.mql5.com/ru/users/dlim0n4ik.dk |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, Dmitriy Kudryashov, Katyusha Software Corp."
#property link      "https://www.mql5.com/ru/users/dlim0n4ik.dk"
#property version   "1.00"
#property strict
#property description "Ñ ïîìîùüþ äàííîãî èíäèêàòîðà ðåàëèçóåòñÿ äíåâíàÿ ñòðàòåãèÿ Äåðèëà Ãóïïè (Daryl Guppy)."
#property indicator_chart_window
#property indicator_buffers 13
#property indicator_plots   13
//--- plot fMA0
#property indicator_label1  "fMA0"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- plot fMA1
#property indicator_label2  "fMA1"
#property indicator_type2   DRAW_LINE
#property indicator_color2  clrRed
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1
//--- plot fMA2
#property indicator_label3  "fMA2"
#property indicator_type3   DRAW_LINE
#property indicator_color3  clrRed
#property indicator_style3  STYLE_SOLID
#property indicator_width3  1
//--- plot fMA3
#property indicator_label4  "fMA3"
#property indicator_type4   DRAW_LINE
#property indicator_color4  clrRed
#property indicator_style4  STYLE_SOLID
#property indicator_width4  1
//--- plot fMA4
#property indicator_label5  "fMA4"
#property indicator_type5   DRAW_LINE
#property indicator_color5  clrRed
#property indicator_style5  STYLE_SOLID
#property indicator_width5  1
//--- plot fMA5
#property indicator_label6  "fMA5"
#property indicator_type6   DRAW_LINE
#property indicator_color6  clrRed
#property indicator_style6  STYLE_SOLID
#property indicator_width6  1
//--- plot sMA0
#property indicator_label7  "sMA0"
#property indicator_type7   DRAW_LINE
#property indicator_color7  clrGreen
#property indicator_style7  STYLE_SOLID
#property indicator_width7  1
//--- plot sMA1
#property indicator_label8  "sMA1"
#property indicator_type8   DRAW_LINE
#property indicator_color8  clrGreen
#property indicator_style8  STYLE_SOLID
#property indicator_width8  1
//--- plot sMA2
#property indicator_label9  "sMA2"
#property indicator_type9   DRAW_LINE
#property indicator_color9  clrGreen
#property indicator_style9  STYLE_SOLID
#property indicator_width9  1
//--- plot sMA3
#property indicator_label10  "sMA3"
#property indicator_type10   DRAW_LINE
#property indicator_color10  clrGreen
#property indicator_style10  STYLE_SOLID
#property indicator_width10  1
//--- plot sMA4
#property indicator_label11  "sMA4"
#property indicator_type11   DRAW_LINE
#property indicator_color11  clrGreen
#property indicator_style11  STYLE_SOLID
#property indicator_width11  1
//--- plot sMA5
#property indicator_label12  "sMA5"
#property indicator_type12   DRAW_LINE
#property indicator_color12  clrGreen
#property indicator_style12  STYLE_SOLID
#property indicator_width12  1
//--- plot mMA
#property indicator_label13  "mMA"
#property indicator_type13   DRAW_LINE
#property indicator_color13  clrBlue
#property indicator_style13  STYLE_SOLID
#property indicator_width13  1
//+------------------------------------------------------------------+
//| Ââîäíûå ïàðàìåòðû Moving Average                                 |
//+------------------------------------------------------------------+
//--- Ïàðàìåòðû Fast Moving Average ----------------------------------
input string                  fMA_Info="Ïàðàìåòðû Fast Moving Average";
input int      fMA0_Period=3;    // Ïåðèîä Moving Average 01
input int      fMA1_Period=5;    // Ïåðèîä Moving Average 02
input int      fMA2_Period=8;    // Ïåðèîä Moving Average 03
input int      fMA3_Period=10;   // Ïåðèîä Moving Average 04
input int      fMA4_Period=12;   // Ïåðèîä Moving Average 05
input int      fMA5_Period=15;   // Ïåðèîä Moving Average 06
//---
//--- Ïàðàìåòðû Slow Moving Average ----------------------------------
input string                  sMA_Info="Ïàðàìåòðû Slow Moving Average";
input int      sMA0_Period=30;   // Ïåðèîä Moving Average 07
input int      sMA1_Period=35;   // Ïåðèîä Moving Average 08
input int      sMA2_Period=40;   // Ïåðèîä Moving Average 09
input int      sMA3_Period=45;   // Ïåðèîä Moving Average 10
input int      sMA4_Period=50;   // Ïåðèîä Moving Average 11
input int      sMA5_Period=60;   // Ïåðèîä Moving Average 12
//---
//--- Ïàðàìåòðû Main Moving Average ----------------------------------
input string                  mMA_Info="Ïàðàìåòðû Main Moving Average";
input int      mMA_Period=200;   // Ïåðèîä êîíòðîëüíîé Moving Average
//+------------------------------------------------------------------+
//--- indicator buffers
double         fMA0Buffer[];
double         fMA1Buffer[];
double         fMA2Buffer[];
double         fMA3Buffer[];
double         fMA4Buffer[];
double         fMA5Buffer[];
double         sMA0Buffer[];
double         sMA1Buffer[];
double         sMA2Buffer[];
double         sMA3Buffer[];
double         sMA4Buffer[];
double         sMA5Buffer[];
double         mMABuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,fMA0Buffer);
   SetIndexBuffer(1,fMA1Buffer);
   SetIndexBuffer(2,fMA2Buffer);
   SetIndexBuffer(3,fMA3Buffer);
   SetIndexBuffer(4,fMA4Buffer);
   SetIndexBuffer(5,fMA5Buffer);
   SetIndexBuffer(6,sMA0Buffer);
   SetIndexBuffer(7,sMA1Buffer);
   SetIndexBuffer(8,sMA2Buffer);
   SetIndexBuffer(9,sMA3Buffer);
   SetIndexBuffer(10,sMA4Buffer);
   SetIndexBuffer(11,sMA5Buffer);
   SetIndexBuffer(12,mMABuffer);
//---
   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[])
  {
   int limit=rates_total-prev_calculated;
//---
   for(int i=0; i<limit; i++)
     {
//--- Ðàñ÷åò Fast Moving Average -------------------------------------
      fMA0Buffer[i]=iMA(NULL,0,fMA0_Period,0,MODE_EMA,PRICE_CLOSE,i);
      fMA1Buffer[i]=iMA(NULL,0,fMA1_Period,0,MODE_EMA,PRICE_CLOSE,i);
      fMA2Buffer[i]=iMA(NULL,0,fMA2_Period,0,MODE_EMA,PRICE_CLOSE,i);
      fMA3Buffer[i]=iMA(NULL,0,fMA3_Period,0,MODE_EMA,PRICE_CLOSE,i);
      fMA4Buffer[i]=iMA(NULL,0,fMA4_Period,0,MODE_EMA,PRICE_CLOSE,i);
      fMA5Buffer[i]=iMA(NULL,0,fMA5_Period,0,MODE_EMA,PRICE_CLOSE,i);
//---
//--- Ðàñ÷åò Slow Moving Average -------------------------------------
      sMA0Buffer[i]=iMA(NULL,0,sMA0_Period,0,MODE_EMA,PRICE_CLOSE,i);
      sMA1Buffer[i]=iMA(NULL,0,sMA1_Period,0,MODE_EMA,PRICE_CLOSE,i);
      sMA2Buffer[i]=iMA(NULL,0,sMA2_Period,0,MODE_EMA,PRICE_CLOSE,i);
      sMA3Buffer[i]=iMA(NULL,0,sMA3_Period,0,MODE_EMA,PRICE_CLOSE,i);
      sMA4Buffer[i]=iMA(NULL,0,sMA4_Period,0,MODE_EMA,PRICE_CLOSE,i);
      sMA5Buffer[i]=iMA(NULL,0,sMA5_Period,0,MODE_EMA,PRICE_CLOSE,i);
//---
//--- Ðàñ÷åò Main Moving Average -------------------------------------
      mMABuffer[i]=iMA(NULL,0,mMA_Period,0,MODE_EMA,PRICE_CLOSE,i);
     }
   return(rates_total);
  }
//+------------------------------------------------------------------+

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---