0
Views
0
Downloads
0
Favorites
Volatility_indicator
//+------------------------------------------------------------------+
//| True Strength Index.mq5 |
//| Copyright 2009, MetaQuotes Software Corp. |
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2009, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
#property version "1.00"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots 1
#property indicator_type1 DRAW_LINE
#property indicator_color1 Red
input int MAPeriod = 5;
input int MAShift = 0;
double ExtLineBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
void OnInit()
{
SetIndexBuffer(0, ExtLineBuffer, INDICATOR_DATA);
PlotIndexSetInteger(0, PLOT_SHIFT, MAShift);
PlotIndexSetInteger(0, PLOT_DRAW_BEGIN, MAPeriod - 1);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[])
{
if (rates_total < MAPeriod - 1)
return(0);
int first, bar, iii;
double Sum, SMA;
if (prev_calculated == 0)
first = MAPeriod - 1 + begin;
else first = prev_calculated - 1;
for(bar = first; bar < rates_total; bar++)
{
Sum = 0.0;
for(iii = 0; iii < MAPeriod; iii++)
Sum += price[bar - iii];
SMA = Sum / MAPeriod;
SMA=SMA-price[bar];
ExtLineBuffer[bar] = SMA;
}
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
---