Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
CCI_onMA_SmzSigMA
//+------------------------------------------------------------------+
//|CCI_onMA_2SigMA CCI_onMA.mq4 |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
//2008forextsd ki
#property copyright "http://www.forex-tsd.com/"
#property link ""
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Purple
#property indicator_color2 RoyalBlue
#property indicator_color3 Red
#property indicator_color4 Orange
#property indicator_width1 1
#property indicator_width2 1
#property indicator_width3 2
#property indicator_width4 1
//----
extern int CCI_Period = 14;
extern int CCI_Price = 5;
extern double CCI_multiplier = 0.3;
extern bool Show_CCI = true;
extern int MaPeriod = 14;
extern int MaMetod = 0;
extern int MaPrice = 5;
extern bool Show_MA = true;
extern int SmzMaPeriod = 5;
extern int SmzMaMetod = 1;
extern bool Show_SmzMA = true;
extern int SigMaPeriod = 8;
extern int SigMaMetod = 1;
extern bool Show_SigMA = true;
//SigMaPrice close only (onArray);
extern string note_Price = "0C,1O 2H3L,4Md 5Tp 6WghC: Md(HL/2)4,Tp(HLC/3)5,Wgh(HLCC/4)6";
extern string MA_Method_ = "SMA0 EMA1 SMMA2 LWMA3";
//----
double CCIonMABuffer[];
double MA_Buffer[];
double SmzMA_Buffer[];
double SigMA_Buffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//|------------------------------------------------------------------|
int init()
{
//----
IndicatorBuffers(4);
SetIndexBuffer(0, CCIonMABuffer);
SetIndexBuffer(1, MA_Buffer);
SetIndexBuffer(2, SmzMA_Buffer);
SetIndexBuffer(3, SigMA_Buffer);
SetIndexStyle(0,DRAW_NONE); if (Show_CCI) SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_NONE); if (Show_MA) SetIndexStyle(1,DRAW_LINE);
SetIndexStyle(2,DRAW_NONE); if (Show_SmzMA) SetIndexStyle(2,DRAW_LINE);
SetIndexStyle(3,DRAW_NONE); if (Show_SigMA) SetIndexStyle(3,DRAW_LINE);
//----
SetIndexLabel(0,"CCIonMA CCI:("+CCI_Period+"|"+CCI_Price+")");
SetIndexLabel(1,"MA ("+MaPeriod+")"+MaMetod+","+MaPrice+"");
SetIndexLabel(2,"SmzMA ("+SmzMaPeriod+")"+SmzMaMetod+"");
SetIndexLabel(3,"SigMA ("+SigMaPeriod+")"+SigMaMetod+"");
IndicatorShortName("CCIonMA ("+CCI_Period+") "+MaPeriod+"|"+SigMaPeriod+"|");
int max= MathMax (MaPeriod,CCI_Period);
max= MathMax (max,SmzMaPeriod);
max= MathMax (max,SigMaPeriod);
for (int i=0;i<indicator_buffers;i++)
SetIndexDrawBegin (i,max);
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int i,limit, countedBars=IndicatorCounted();
if (countedBars<0) return(-1);
if (countedBars>0) countedBars--;
limit= Bars-countedBars;
limit= MathMax(limit,CCI_Period);
limit= MathMax(limit,MaPeriod);
limit= MathMax(limit,SmzMaPeriod);
limit= MathMax(limit,SigMaPeriod);
for (i=limit;i>=0;i--)
{
double CCI_val = iCCI(NULL,0,CCI_Period,CCI_Price,i);
MA_Buffer [i] = iMA(NULL,0,MaPeriod,0,MaMetod,MaPrice,i);
CCIonMABuffer [i] = CCI_val*CCI_multiplier*Point+ MA_Buffer[i];
}
for (i=limit;i>=0;i--)
SmzMA_Buffer[i]=iMAOnArray(CCIonMABuffer,0,SmzMaPeriod,0,SmzMaMetod,i);
for (i=limit;i>=0;i--)
SigMA_Buffer[i]=iMAOnArray(SmzMA_Buffer,0,SigMaPeriod,0,SigMaMetod,i);
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
---