0
Views
0
Downloads
0
Favorites
Dyn_tr
// +------------------------------------------------------------------+
// | The percentage indicator basis on break |
// | of the dynamic price channel |
// | BDPC_Percent.mq4 |
// | Copyright © 2004, OfficeFX Group |
// | http: // officefx.nm.ru |
// +------------------------------------------------------------------+
#property copyright " Copyright © 2004, OfficeFX Group "
#property link " http:// officefx.nm.ru "
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 MediumOrchid // BUY signal
#property indicator_color2 Blue // BUY signal
#property indicator_color3 Red // SELL signal
//----Indicator Buffers--------------------------------------------+
double DynamicLineTrend []; // Data buffer for dynamic line trend
double BUYSignals []; // Data buffer for BUY signals
double SELLSignals []; // Data buffer for SELL signals //----User defines-------------------------------------------------
extern int Percent=1; // Percent dynamic channel 15 Main Trend 10
extern int MaxPeriod=14; // 12 FOR H1 Maximal period for calculate trend 50 Main Trend 89
//----Variables----------------------------------------------------+
int Shift=0; // Current bar for calculate trend //
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init ()
{
SetIndexStyle (0, DRAW_LINE);
SetIndexBuffer(0, DynamicLineTrend);
SetIndexStyle (1, DRAW_ARROW);
SetIndexArrow (1,233);
SetIndexBuffer(1, BUYSignals);
SetIndexStyle (2, DRAW_ARROW);
SetIndexArrow (2,234);
SetIndexBuffer(2, SELLSignals);
return (0);
}
//-------------------------------------------------------------------+
// +------------------------------------------------------------------+
// | Custom indicator iteration function |
// +------------------------------------------------------------------+
int start ()
{
// Get digits of Symbol
double point=MarketInfo (Symbol (), MODE_POINT);
// Set count bars for calculate trend
int Counted_Bars=IndicatorCounted ()-MaxPeriod;
//----Calculation DynamicLineTrend---------------------------------+
for ( Shift = Counted_Bars; Shift>=0; Shift--)
{
// Calculate of maximal period
if (Close [Shift] <DynamicLineTrend [Shift+1])
{
// Calculate Upper trend
DynamicLineTrend [Shift] =Close [Highest (NULL, 0, MODE_CLOSE, MaxPeriod, Shift+1)]-Percent*point;
}
if (Close [Shift]>=DynamicLineTrend [Shift+1])
{
// Calculate Down trend
DynamicLineTrend [Shift] =Close [Lowest (NULL, 0, MODE_CLOSE, MaxPeriod, Shift+1)] +Percent*point;
}
// Checkcrosses DynamicLineTrend and Price
if (Close [Shift+3]> DynamicLineTrend [Shift+2])
if (Close [Shift+2] <DynamicLineTrend [Shift+3])
BUYSignals [Shift] =Low [Shift]-10*point;
else
BUYSignals [Shift] =0;
else
BUYSignals [Shift] =0;
if (Close [Shift+2] <DynamicLineTrend [Shift+1])
if (Close [Shift+2]> DynamicLineTrend [Shift+3])
SELLSignals [Shift] =High [Shift]-10*point;
else
SELLSignals [Shift] =0;
else
SELLSignals [Shift] =0;
}
//-------------------------------------------------------------------+
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
---