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 Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---