Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
DPO_alert
//+------------------------------------------------------------------+
//| Detrended Price Oscillator.mq4 |
//| Ramdass - Conversion only |
//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
//----
extern int x_prd = 14;
extern int CountBars = 300;
extern bool AlertsEnabled = true;
extern bool AlertAfterBarClose = true;
extern string AlertsSound = "alert.wav";
//---- buffers
double dpo[];
datetime AlertTime;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
SetIndexStyle(0, DRAW_LINE);
SetIndexBuffer(0, dpo);
//---- name for DataWindow and indicator subwindow label
short_name = "DPO(" + x_prd + ")";
IndicatorShortName(short_name);
SetIndexLabel(0, short_name);
//----
if(CountBars >= Bars)
CountBars = Bars;
SetIndexDrawBegin(0, Bars - CountBars + x_prd + 1);
//----
return(0);
}
//+------------------------------------------------------------------+
//| DPO |
//+------------------------------------------------------------------+
int start()
{
int i, counted_bars=IndicatorCounted();
double t_prd;
//----
if(Bars <= x_prd)
return(0);
//---- initial zero
if(counted_bars < x_prd)
{
for(i = 1; i <= x_prd; i++)
dpo[CountBars-i] = 0.0;
}
//----
i = CountBars - x_prd - 1;
t_prd = x_prd / 2 + 1;
//----
while(i >= 0)
{
dpo[i] = iMA(NULL, 0, 1, 0, MODE_SMA, PRICE_CLOSE, i) - iMA(NULL, 0, x_prd, t_prd, MODE_SMA, PRICE_CLOSE, i);
i--;
}
if (AlertsEnabled && AlertTime != Time[0]&& Volume[0]>1)
{
if ((AlertAfterBarClose && (dpo[i+1] > 0 && dpo[i+2] <= 0) || (dpo[i+1] < 0 && dpo[i+2] >= 0)) ||
(!AlertAfterBarClose && (dpo[i] > 0 && dpo[i+1] <= 0) || (dpo[i] < 0 && dpo[i+1] >= 0)) )
{
AlertTime = Time[0];
Alert("DPO Cross 0 ", Symbol(), " M", Period());
if (StringLen(AlertsSound) > 0)
PlaySound(AlertsSound);
}
}
return(0);
}
//+------------------------------------------------------------------+
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
---