Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
MacdACSignals
//+------------------------------------------------------------------+
//| MacdACSignals.mq4.mq4 |
//| Tonkonog G.S., 2009 |
//| hurricane79@yandex.ru |
//+------------------------------------------------------------------+
#property copyright "Tonkonog G.S., 2009"
#property link "hurricane79@yandex.ru"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Gold
#property indicator_color2 Red
//---- input parameters
extern int barsToProcess=500;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,236);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexEmptyValue(0,0.0);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,238);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexEmptyValue(1,0.0);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted(),
limit;
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
if(limit>barsToProcess)
limit=barsToProcess;
//----
for(int i=0;i<limit;i++)
{
double MacdCurrent, MacdPrevious, SignalCurrent, SignalPrevious,
AC1,AC2,AC3,AC4,AC5,
AC1_1,AC2_1,AC3_1,AC4_1,AC5_1,
AC1_2,AC2_2,AC3_2,AC4_2,AC5_2,
AC1_3,AC2_3,AC3_3,AC4_3,AC5_3,
AC1_4,AC2_4,AC3_4,AC4_4,AC5_4;
MacdCurrent=iMACD(NULL,0,5,34,5,PRICE_CLOSE,MODE_MAIN,i);
MacdPrevious=iMACD(NULL,0,5,34,5,PRICE_CLOSE,MODE_MAIN,i+1);
SignalCurrent=iMACD(NULL,0,5,34,5,PRICE_CLOSE,MODE_SIGNAL,i);
SignalPrevious=iMACD(NULL,0,5,34,5,PRICE_CLOSE,MODE_SIGNAL,i+1);
AC1=iAC(NULL,0,i); AC1_1=iAC(NULL,0,i+1); AC1_2=iAC(NULL,0,i+2);
AC2=iAC(NULL,0,i+1); AC2_1=iAC(NULL,0,i+2); AC2_2=iAC(NULL,0,i+3);
AC3=iAC(NULL,0,i+2); AC3_1=iAC(NULL,0,i+3); AC3_2=iAC(NULL,0,i+4);
AC4=iAC(NULL,0,i+3); AC4_1=iAC(NULL,0,i+4); AC4_2=iAC(NULL,0,i+5);
AC5=iAC(NULL,0,i+4); AC5_1=iAC(NULL,0,i+5); AC5_2=iAC(NULL,0,i+6);
AC1_3=iAC(NULL,0,i+3); AC1_4=iAC(NULL,0,i+4);
AC2_3=iAC(NULL,0,i+4); AC2_4=iAC(NULL,0,i+5);
AC3_3=iAC(NULL,0,i+5); AC3_4=iAC(NULL,0,i+6);
AC4_3=iAC(NULL,0,i+6); AC4_4=iAC(NULL,0,i+7);
AC5_3=iAC(NULL,0,i+7); AC5_4=iAC(NULL,0,i+8);
//--Ïðîâåðêà íàëè÷èÿ ñèãíàëà íà ïîêóïêó--------------------------------------------------------------------------------------+
if((MacdCurrent>0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious) &&
(((AC4>0 && AC3>0 && AC2>0 && AC1>0) && (AC4>AC3 && AC2>AC3 && AC1>AC2)) || //... íà íóëåâîì áàðå +
((AC4<0 && AC3<0 && AC2<0 && AC1>0) && (AC4>AC3 && AC2>AC3 && AC1>AC2)) || // åñòü îäèí èç òð¸õ +
((AC5<0 && AC4<0 && AC3<0 && AC2<0 && AC1<0) && // ñèãíàëîâ îò ÀÑ òî ... +
(AC5>AC4 && AC4<AC3 && AC3<AC2 && AC2<AC1)))) // +
ExtMapBuffer1[i]=High[i]+15*Point;
if((MacdCurrent>0 && MacdPrevious<0) && // Åñëè MACD-ãèñòîãðàììà ïåðåøëà ÷åðåç íîëü è ... +
(((AC4>0 && AC3>0 && AC2>0 && AC1>0) && (AC4>AC3 && AC2>AC3 && AC1>AC2)) || //... íà íóëåâîì áàðå +
((AC4<0 && AC3<0 && AC2<0 && AC1>0) && (AC4>AC3 && AC2>AC3 && AC1>AC2)) || // åñòü îäèí èç òð¸õ +
((AC5<0 && AC4<0 && AC3<0 && AC2<0 && AC1<0) && // ñèãíàëîâ îò ÀÑ òî ... +
(AC5>AC4 && AC4<AC3 && AC3<AC2 && AC2<AC1)))) // +
ExtMapBuffer1[i]=High[i]+15*Point; // ... ðèñóåì ñòðåëêó +
if((MacdCurrent>0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious) &&
(((AC4_1>0 && AC3_1>0 && AC2_1>0 && AC1_1>0) && (AC4_1>AC3_1 && AC2_1>AC3_1 && AC1_1>AC2_1)) || // ... íà ïåðâîì áàðå +
((AC4_1<0 && AC3_1<0 && AC2_1<0 && AC1_1>0) && (AC4_1>AC3_1 && AC2_1>AC3_1 && AC1_1>AC2_1)) || // åñòü îäèí èç òð¸õ +
((AC5_1<0 && AC4_1<0 && AC3_1<0 && AC2_1<0 && AC1_1<0) && // ñèãíàëîâ îò ÀÑ òî ... +
(AC5_1>AC4_1 && AC4_1<AC3_1 && AC3_1<AC2_1 && AC2_1<AC1_1)))) // +
ExtMapBuffer1[i]=High[i]+15*Point; // ... ðèñóåì ñòðåëêó +
if((MacdCurrent>0 && MacdPrevious<0) && // Åñëè MACD-ãèñòîãðàììà ïåðåøëà ÷åðåç íîëü è ... +
(((AC4_1>0 && AC3_1>0 && AC2_1>0 && AC1_1>0) && (AC4_1>AC3_1 && AC2_1>AC3_1 && AC1_1>AC2_1)) || // ... íà ïåðâîì áàðå +
((AC4_1<0 && AC3_1<0 && AC2_1<0 && AC1_1>0) && (AC4_1>AC3_1 && AC2_1>AC3_1 && AC1_1>AC2_1)) || // åñòü îäèí èç òð¸õ +
((AC5_1<0 && AC4_1<0 && AC3_1<0 && AC2_1<0 && AC1_1<0) && // ñèãíàëîâ îò ÀÑ òî ... +
(AC5_1>AC4_1 && AC4_1<AC3_1 && AC3_1<AC2_1 && AC2_1<AC1_1)))) // +
ExtMapBuffer1[i]=High[i]+15*Point; // ... ðèñóåì ñòðåëêó +
if((MacdCurrent>0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious) &&
(((AC4_2>0 && AC3_2>0 && AC2_2>0 && AC1_2>0) && (AC4_2>AC3_2 && AC2_2>AC3_2 && AC1_2>AC2_2)) || // ... íà âòîðîì áàðå +
((AC4_2<0 && AC3_2<0 && AC2_2<0 && AC1_2>0) && (AC4_2>AC3_2 && AC2_2>AC3_2 && AC1_2>AC2_2)) || // åñòü îäèí èç òð¸õ +
((AC5_2<0 && AC4_2<0 && AC3_2<0 && AC2_2<0 && AC1_2<0) && // ñèãíàëîâ îò ÀÑ òî ... +
(AC5_2>AC4_2 && AC4_2<AC3_2 && AC3_2<AC2_2 && AC2_2<AC1_2)))) // +
ExtMapBuffer1[i]=High[i]+15*Point; // ... ðèñóåì ñòðåëêó +
if((MacdCurrent>0 && MacdPrevious<0) && // Åñëè MACD-ãèñòîãðàììà ïåðåøëà ÷åðåç íîëü è ... +
(((AC4_2>0 && AC3_2>0 && AC2_2>0 && AC1_2>0) && (AC4_2>AC3_2 && AC2_2>AC3_2 && AC1_2>AC2_2)) || // ... íà âòîðîì áàðå +
((AC4_2<0 && AC3_2<0 && AC2_2<0 && AC1_2>0) && (AC4_2>AC3_2 && AC2_2>AC3_2 && AC1_2>AC2_2)) || // åñòü îäèí èç òð¸õ +
((AC5_2<0 && AC4_2<0 && AC3_2<0 && AC2_2<0 && AC1_2<0) && // ñèãíàëîâ îò ÀÑ òî ... +
(AC5_2>AC4_2 && AC4_2<AC3_2 && AC3_2<AC2_2 && AC2_2<AC1_2)))) // +
ExtMapBuffer1[i]=High[i]+15*Point; // ... ðèñóåì ñòðåëêó +
if((MacdCurrent>0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious) &&
(((AC4_3>0 && AC3_3>0 && AC2_3>0 && AC1_3>0) && (AC4_3>AC3_3 && AC2_3>AC3_3 && AC1_3>AC2_3)) || // ... íà òðåòüåì áàðå +
((AC4_3<0 && AC3_3<0 && AC2_3<0 && AC1_3>0) && (AC4_3>AC3_3 && AC2_3>AC3_3 && AC1_3>AC2_3)) || // åñòü îäèí èç òð¸õ +
((AC5_3<0 && AC4_3<0 && AC3_3<0 && AC2_3<0 && AC1_3<0) && // ñèãíàëîâ îò ÀÑ òî ... +
(AC5_3>AC4_3 && AC4_3<AC3_3 && AC3_3<AC2_3 && AC2_3<AC1_3)))) // +
ExtMapBuffer1[i]=High[i]+15*Point; // ... ðèñóåì ñòðåëêó +
if((MacdCurrent>0 && MacdPrevious<0) && // Åñëè MACD-ãèñòîãðàììà ïåðåøëà ÷åðåç íîëü è ... +
(((AC4_3>0 && AC3_3>0 && AC2_3>0 && AC1_3>0) && (AC4_3>AC3_3 && AC2_3>AC3_3 && AC1_3>AC2_3)) || // ... íà òðåòüåì áàðå +
((AC4_3<0 && AC3_3<0 && AC2_3<0 && AC1_3>0) && (AC4_3>AC3_3 && AC2_3>AC3_3 && AC1_3>AC2_3)) || // åñòü îäèí èç òð¸õ +
((AC5_3<0 && AC4_3<0 && AC3_3<0 && AC2_3<0 && AC1_3<0) && // ñèãíàëîâ îò ÀÑ òî ... +
(AC5_3>AC4_3 && AC4_3<AC3_3 && AC3_3<AC2_3 && AC2_3<AC1_3)))) // +
ExtMapBuffer1[i]=High[i]+15*Point; // ... ðèñóåì ñòðåëêó +
if((MacdCurrent>0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious) &&
(((AC4_4>0 && AC3_4>0 && AC2_4>0 && AC1_4>0) && (AC4_4>AC3_4 && AC2_4>AC3_4 && AC1_4>AC2_4)) ||//... íà ÷åòâ¸ðòîì áàðå +
((AC4_4<0 && AC3_4<0 && AC2_4<0 && AC1_4>0) && (AC4_4>AC3_4 && AC2_4>AC3_4 && AC1_4>AC2_4)) || // åñòü îäèí èç òð¸õ +
((AC5_4<0 && AC4_4<0 && AC3_4<0 && AC2_4<0 && AC1_4<0) && // ñèãíàëîâ îò ÀÑ òî ... +
(AC5_4>AC4_4 && AC4_4<AC3_4 && AC3_4<AC2_4 && AC2_4<AC1_4)))) // +
ExtMapBuffer1[i]=High[i]+15*Point; // ... ðèñóåì ñòðåëêó +
if((MacdCurrent>0 && MacdPrevious<0) && // Åñëè MACD-ãèñòîãðàììà ïåðåøëà ÷åðåç íîëü è ... +
(((AC4_4>0 && AC3_4>0 && AC2_4>0 && AC1_4>0) && (AC4_4>AC3_4 && AC2_4>AC3_4 && AC1_4>AC2_4)) ||//... íà ÷åòâ¸ðòîì áàðå +
((AC4_4<0 && AC3_4<0 && AC2_4<0 && AC1_4>0) && (AC4_4>AC3_4 && AC2_4>AC3_4 && AC1_4>AC2_4)) || // åñòü îäèí èç òð¸õ +
((AC5_4<0 && AC4_4<0 && AC3_4<0 && AC2_4<0 && AC1_4<0) && // ñèãíàëîâ îò ÀÑ òî ... +
(AC5_4>AC4_4 && AC4_4<AC3_4 && AC3_4<AC2_4 && AC2_4<AC1_4)))) // +
ExtMapBuffer1[i]=High[i]+15*Point; // ... ðèñóåì ñòðåëêó +
//--Ïðîâåðêà íàëè÷èÿ ñèãíàëà íà ïðîäàæó--------------------------------------------------------------------------------------+
if((MacdCurrent<0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious) &&
(((AC4<0 && AC3<0 && AC2<0 && AC1<0) && (AC4<AC3 && AC2<AC3 && AC1<AC2)) ||
((AC4>0 && AC3>0 && AC2>0 && AC1<0) && (AC4<AC3 && AC2<AC3 && AC1<AC2)) ||
((AC5>0 && AC4>0 && AC3>0 && AC2>0 && AC1>0) &&
(AC5<AC4 && AC4>AC3 && AC3>AC2 && AC2>AC1))))
ExtMapBuffer2[i]=Low[i]-15*Point;
if((MacdCurrent<0 && MacdPrevious>0) &&
(((AC4<0 && AC3<0 && AC2<0 && AC1<0) && (AC4<AC3 && AC2<AC3 && AC1<AC2)) ||
((AC4>0 && AC3>0 && AC2>0 && AC1<0) && (AC4<AC3 && AC2<AC3 && AC1<AC2)) ||
((AC5>0 && AC4>0 && AC3>0 && AC2>0 && AC1>0) &&
(AC5<AC4 && AC4>AC3 && AC3>AC2 && AC2>AC1))))
ExtMapBuffer2[i]=Low[i]-15*Point;
if((MacdCurrent<0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious) &&
(((AC4_1<0 && AC3_1<0 && AC2_1<0 && AC1_1<0) && (AC4_1<AC3_1 && AC2_1<AC3_1 && AC1_1<AC2_1)) ||
((AC4_1>0 && AC3_1>0 && AC2_1>0 && AC1_1<0) && (AC4_1<AC3_1 && AC2_1<AC3_1 && AC1_1<AC2_1)) ||
((AC5_1>0 && AC4_1>0 && AC3_1>0 && AC2_1>0 && AC1_1>0) &&
(AC5_1<AC4_1 && AC4_1>AC3_1 && AC3_1>AC2_1 && AC2_1>AC1_1))))
ExtMapBuffer2[i]=Low[i]-15*Point;
if((MacdCurrent<0 && MacdPrevious>0) &&
(((AC4_1<0 && AC3_1<0 && AC2_1<0 && AC1_1<0) && (AC4_1<AC3_1 && AC2_1<AC3_1 && AC1_1<AC2_1)) ||
((AC4_1>0 && AC3_1>0 && AC2_1>0 && AC1_1<0) && (AC4_1<AC3_1 && AC2_1<AC3_1 && AC1_1<AC2_1)) ||
((AC5_1>0 && AC4_1>0 && AC3_1>0 && AC2_1>0 && AC1_1>0) &&
(AC5_1<AC4_1 && AC4_1>AC3_1 && AC3_1>AC2_1 && AC2_1>AC1_1))))
ExtMapBuffer2[i]=Low[i]-15*Point;
if((MacdCurrent<0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious) &&
(((AC4_2<0 && AC3_2<0 && AC2_2<0 && AC1_2<0) && (AC4_2<AC3_2 && AC2_2<AC3_2 && AC1_2<AC2_2)) ||
((AC4_2>0 && AC3_2>0 && AC2_2>0 && AC1_2<0) && (AC4_2<AC3_2 && AC2_2<AC3_2 && AC1_2<AC2_2)) ||
((AC5_2>0 && AC4_2>0 && AC3_2>0 && AC2_2>0 && AC1_2>0) &&
(AC5_2<AC4_2 && AC4_2>AC3_2 && AC3_2>AC2_2 && AC2_2>AC1_2))))
ExtMapBuffer2[i]=Low[i]-15*Point;
if((MacdCurrent<0 && MacdPrevious>0) &&
(((AC4_2<0 && AC3_2<0 && AC2_2<0 && AC1_2<0) && (AC4_2<AC3_2 && AC2_2<AC3_2 && AC1_2<AC2_2)) ||
((AC4_2>0 && AC3_2>0 && AC2_2>0 && AC1_2<0) && (AC4_2<AC3_2 && AC2_2<AC3_2 && AC1_2<AC2_2)) ||
((AC5_2>0 && AC4_2>0 && AC3_2>0 && AC2_2>0 && AC1_2>0) &&
(AC5_2<AC4_2 && AC4_2>AC3_2 && AC3_2>AC2_2 && AC2_2>AC1_2))))
ExtMapBuffer2[i]=Low[i]-15*Point;
if((MacdCurrent<0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious) &&
(((AC4_3<0 && AC3_3<0 && AC2_3<0 && AC1_3<0) && (AC4_3<AC3_3 && AC2_3<AC3_3 && AC1_3<AC2_3)) ||
((AC4_3>0 && AC3_3>0 && AC2_3>0 && AC1_3<0) && (AC4_3<AC3_3 && AC2_3<AC3_3 && AC1_3<AC2_3)) ||
((AC5_3>0 && AC4_3>0 && AC3_3>0 && AC2_3>0 && AC1_3>0) &&
(AC5_3<AC4_3 && AC4_3>AC3_3 && AC3_3>AC2_3 && AC2_3>AC1_3))))
ExtMapBuffer2[i]=Low[i]-15*Point;
if((MacdCurrent<0 && MacdPrevious>0) &&
(((AC4_3<0 && AC3_3<0 && AC2_3<0 && AC1_3<0) && (AC4_3<AC3_3 && AC2_3<AC3_3 && AC1_3<AC2_3)) ||
((AC4_3>0 && AC3_3>0 && AC2_3>0 && AC1_3<0) && (AC4_3<AC3_3 && AC2_3<AC3_3 && AC1_3<AC2_3)) ||
((AC5_3>0 && AC4_3>0 && AC3_3>0 && AC2_3>0 && AC1_3>0) &&
(AC5_3<AC4_3 && AC4_3>AC3_3 && AC3_3>AC2_3 && AC2_3>AC1_3))))
ExtMapBuffer2[i]=Low[i]-15*Point;
if((MacdCurrent<0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious) &&
(((AC4_4<0 && AC3_4<0 && AC2_4<0 && AC1_4<0) && (AC4_4<AC3_4 && AC2_4<AC3_4 && AC1_4<AC2_4)) ||
((AC4_4>0 && AC3_4>0 && AC2_4>0 && AC1_4<0) && (AC4_4<AC3_4 && AC2_4<AC3_4 && AC1_4<AC2_4)) ||
((AC5_4>0 && AC4_4>0 && AC3_4>0 && AC2_4>0 && AC1_4>0) &&
(AC5_4<AC4_4 && AC4_4>AC3_4 && AC3_4>AC2_4 && AC2_4>AC1_4))))
ExtMapBuffer2[i]=Low[i]-15*Point;
if((MacdCurrent<0 && MacdPrevious>0) &&
(((AC4_4<0 && AC3_4<0 && AC2_4<0 && AC1_4<0) && (AC4_4<AC3_4 && AC2_4<AC3_4 && AC1_4<AC2_4)) ||
((AC4_4>0 && AC3_4>0 && AC2_4>0 && AC1_4<0) && (AC4_4<AC3_4 && AC2_4<AC3_4 && AC1_4<AC2_4)) ||
((AC5_4>0 && AC4_4>0 && AC3_4>0 && AC2_4>0 && AC1_4>0) &&
(AC5_4<AC4_4 && AC4_4>AC3_4 && AC3_4>AC2_4 && AC2_4>AC1_4))))
ExtMapBuffer2[i]=Low[i]-15*Point;
}
//----
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
---