Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
impuls
//--------------------------------------------------------------------
// impuls.mq4
//--------------------------------------------------------------- 1 --
#property copyright "Copyright © Roman Shiredchenko, 2009"
//--------------------------------------------------------------------
#property indicator_separate_window // èíäèêàòîð ðèñóåòñÿ â îòäåëüíîì îêíå
#property indicator_buffers 3 // êîë-âî áóôåðîâ äëÿ ðàñ÷åòà èíäèêàòîðà
#property indicator_color1 Gray // çàïðåò íà ïðîäàæó ëèáî ïîêóïêó ñíÿò
#property indicator_color2 Green // çàïðåò íà èãðó íà ïîíèæåíèå
#property indicator_color3 Red // çàïðåò íà èãðó íà ïîâûøåíèå
//---- indicator parameters
extern int History =5000; // êîë-âî áàðîâ ðàñ÷åòíîé èñòîðèè
extern int Period_Ema=13; // ïåðèîä ðàñ÷åòíîé åìà
extern int Period_Macd1=12; // ïàðàìåòðû ðàñ÷åòà ìàñäè
extern int Period_Macd2=26;
extern int Period_Macd3=9;
double ExtBuffer0[]; // îïðåäåëåíèå ìàññèâîâ äëÿ èíäèêàòîðà - ãèñòîãðàììû
double ExtBuffer1[];
double ExtBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexStyle(2,DRAW_HISTOGRAM);
SetIndexBuffer(0,ExtBuffer0);
SetIndexBuffer(1,ExtBuffer1);
SetIndexBuffer(2,ExtBuffer2);
IndicatorShortName("impuls");
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//---- TODO: add your code here
//----
return(0);
}
//----------------------------------------------------------------
int start() // Ñïåöèàëüíàÿ ôóíêöèÿ start()
{
//-----------------------------------------------------------------
double
EMA1, EMA2, SumEMA; // 2 ÌÀ äëÿ ðàñ÷åòà çíà÷åíèé èíäèêàòîðà EMA
double
M_0, M_1, SumMacd ; // Çíà÷åíèå MAIN MACD íà 0 è 1 áàðàõ
//--------------------------------------------------------------- 4 --
int
i, // Èíäåêñ áàðà
n, // Ôîðìàëüí. ïàðàìåòð(èíäåêñ áàðà)
Counted_bars; // Êîëè÷åñòâî ïðîñ÷èòàííûõ áàðîâ
//-------------------------------------------------------------- 10 --
Counted_bars=IndicatorCounted(); // Êîëè÷åñòâî ïðîñ÷èòàííûõ áàðîâ
i=Bars-Counted_bars-1; // Èíäåêñ ïåðâîãî íåïîñ÷èòàííîãî
if (i>History-1) // Åñëè ìíîãî áàðîâ òî ..
i=History-1; // ..ðàññ÷èòûâàòü çàäàííîå êîëè÷.
//-------------------------------------------------------------- 11 --
ExtBuffer1[i] = 0; // îáíóëåíèå çíà÷åíèé ìàññèâîâ ëèíèé èíäèêàòîðà
ExtBuffer2[i] = 0;
ExtBuffer0[i] = 0;
while(i>=0) // Öèêë ïî íåïîñ÷èòàííûì áàðàì
{
//-------------------------------------------------------- 12 --
EMA1=iMA(NULL,0,Period_Ema,0,MODE_EMA,PRICE_CLOSE,i); // Çíà÷åíèå EÌÀ1 current
EMA2=iMA(NULL,0,Period_Ema,0,MODE_EMA,PRICE_CLOSE,i+1); // Çíà÷åíèå EÌÀ2 prev
SumEMA = 0;
SumEMA = EMA1 - EMA2; // âû÷èñëåíèå ðàçíîñòè åìà íà òåê. è ïðåäûäóùåì áàðàõ
M_0=iMACD(NULL,0,Period_Macd1,Period_Macd2,Period_Macd3,PRICE_CLOSE,MODE_MAIN,i); //
M_1=iMACD(NULL,0,Period_Macd1,Period_Macd2,Period_Macd3,PRICE_CLOSE,MODE_MAIN,i+1); //
SumMacd=M_0-M_1; // òîæå ñàìîå äëÿ ìàêäà
ExtBuffer1[i] = 0;
ExtBuffer2[i] = 0;
ExtBuffer0[i] = 0;
if (SumEMA>0 && SumMacd>0) ExtBuffer1[i] = 4; // åñëè è åìà è ìàñäè ðàñòóò, òî ðèñóé çåëåíóþ ëèíèþ ãèñòîãðàììû ðàâíóþ 4
if (SumEMA<0 && SumMacd<0) // åñëè åìà è ìàêäè óìåíüøàþòñÿ, òî ðèñóé êðàñíóþ ëèí ãèñòîãðàììû ðàâíóþ 2
{ ExtBuffer2[i] = 2;
} else
ExtBuffer0[i] = 3; // èíà÷å ðèñóé ñåðóþ ëèíèþ ãèñòîãðàììû èíäèêàòîðà èìïóëüñ
//-------------------------------------------------------- 13 --
i--; // Ðàñ÷¸ò èíäåêñà ñëåäóþùåãî áàðà
//-------------------------------------------------------- 14 --
}
return; // Âûõîä èç ñïåö. ô-èè start()
}
//-------------------------------------------------------------- 15 --
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
---