Indicators Used
Moving average indicatorMoving average indicator
2 Views
0 Downloads
0 Favorites
iCCI_NR
//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
/*
âûçîâ èç êîäîâ:
iCustom(
   string symbol,    // ñèìâîëüíîå èìÿ èíñòðóìåíòà (NULL- òåêóùèé)
   int timeframe,    // òàéì-ôðåéì (0- òåêóùèé)
   "iCCI.Gap",       // èìÿ ýòîãî èíäèêàòîðà
   //
   int CCIperiod     // ïåðèîä èíäèêàòîðà
   int Price,        // òèï öåíû:
                        // 0 - PRICE_CLOSE - öåíà çàêðûòèÿ 
                        // 1 - PRICE_OPEN - öåíà îòêðûòèÿ
                        // 2 - PRICE_HIGH - ìàêñ.öåíà
                        // 3 - PRICE_LOW - ìèí.öåíà
                        // 4 - PRICE_MEDIAN - ñðåäíÿÿ öåíà,(high+low)/2
                        // 5 - PRICE_TYPICAL - òèïè÷íàÿ öåíà,(high+low+close)/3
                        // 6 - PRICE_WEIGHTED - âçâåøåííàÿ öåíà çàêðûòèÿ,(high+low+close+close)/4
   double Sens,      // ïîðîã ÷óâñòâèòåëüíîñòè â ïï.
   //
   int mode,         // mode - íîìåð áóôåðà èíäèêàòîðà: 0 - CCI
   int shift         // ñäâèã
);

==============

iCustom(NULL,0,"iCCI.NR", CCIperiod,Price,Sens, 0,i);
*/

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 LightSeaGreen
#property indicator_maximum  300
#property indicator_minimum -300
#property indicator_level1  100
#property indicator_level2    0
#property indicator_level3 -100

// âõîäíûå ïàðàìåòðû
// MA
int MAperiod=1; // ïåðèîä ïðåäâàðèòåëüíîãî ñãëàæèâàíèÿ
int MAmethod=0; // ìåòîä ïðåäâàðèòåëüíîãî ñãëàæèâàíèÿ
                // CCI
extern int CCIperiod=10; // ïåðèîä èíäèêàòîðà
extern int Price=5; // òèï öåíû
extern double Sens=0; // ïîðîã â ïï.
double sens; // ïîðîã â öåíàõ

             // ìàññèâû èíä.áóôåðîâ
double Ind[]; // èíäèêàòîðà
double price[]; // áåçãýïîâûõ êîòèðîâîê
double Mov[]; // îïîðíàÿ MA

double mul; // íîðìèðóþùèé ìíîæèòåëü
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void init()
  {
   mul=0.015/CCIperiod; // íîðìèðóþùèé ìíîæèòåëü
   sens=Sens*CCIperiod*Point;
   string short_name="CCI("+CCIperiod+")";
// áóôåðû
   IndicatorBuffers(3);
   SetIndexBuffer(0,Ind); // èíäèêàòîðà
   SetIndexLabel(0,short_name);
   SetIndexBuffer(1,price); // áåçãýïîâûõ êîòèðîâîê
   SetIndexBuffer(2,Mov); // îïîðíîé MA
                          // êîðîòêîå èìÿ
   if(Sens>0) short_name=DoubleToStr(Sens,1)+" "+short_name;
   IndicatorShortName(short_name);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void start()
  {
   int counted_bars=IndicatorCounted();
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
   int limit=Bars-counted_bars;
   if(counted_bars==0) limit-=1+CCIperiod;

// çàïîëíåíèå ìàññèâà çíà÷åíèÿìè MA
   for(int i=limit; i>=0; i--)
      price[i]=iMA(NULL,0,MAperiod,0,MAmethod,Price,i);
// îïîðíàÿ MA ïî ìàññèâó price[]
   for(i=limit; i>=0; i--)
      Mov[i]=iMAOnArray(price,0,CCIperiod,0,0,i);
   for(i=limit; i>=0; i--)
     {
      double div=0,dif;
      double ma=Mov[i];
      // ìîäóëü îòêëîíåíèé 
      for(int j=i+CCIperiod-1;j>=i;j--) div+=MathAbs(price[j]-ma);
      div=mul*MathMax(div,sens); // øóìîïîäàâëåíèå
      dif=price[i]-ma; // îòêëîíåíèÿ
                       // ðàñ÷åò îñöèëëÿòîðà
      if(div==0) Ind[i]=0;
      else Ind[i]=dif/div;
     }
  }
//+------------------------------------------------------------------+

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---