TrendlessAG

Author: Copyright � 2012, Barmaley
Indicators Used
Moving average indicator
0 Views
0 Downloads
0 Favorites
TrendlessAG
//+------------------------------------------------------------------+
//|                                                  TrendlessAG.mq4 |
//|                                      Copyright © 2012, Barmaley  |
//|Îñöèëëÿòîð Áåñòðåíäîâîñòè íàïèñàí â ñîîòâåòñòâèè ñ îïèñàíèåì,     |
//|ïðèâåä¸ííûì â êíèãå Äæî ÄèÍàïîëè "Òîðãîâëÿ ñ ïðèìåíåíèåì óðîâíåé  |
//|ÄèÍàïîëè"                                                         |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, Barmaley"

#property indicator_separate_window               //â îòäåëüíîì îêíå
#property indicator_buffers 1                     //÷èñëî áóôåðîâ èíäèêàòîðà
//---- âõîäíûå ïàðàìåòðû

extern int SMAPeriod=7;  //ïåðèîä ïðîñòîé ñêîëüçÿùåé ñðåäíåé â ôîðìóëå îñöèëëÿòîðà
extern int PointsCount=600; //êîëè÷åñòâî òî÷åê äëÿ ðàñ÷åòà èíäèêàòîðà. Ôîðåêñ-êëóá ðåêîìåíäóåò ìåñÿö äëÿ ÷àñîâîê. Íó ãäå-òî òàê è âîçüìåì.
extern int In100=90; // Ñêîëüêî % òî÷åê èíäèêàòîðà äîëæíû âõîäèòü â èíòåðâàë +-100%

//---- ïðèñîåíèå öâåòà
#property  indicator_color1  Yellow                 //öâåò ëèíèè èíäèêàòîðà 
//---- áóôåðû èíäèêàòîðà
double Buf[];  //áóôåð ðàñ÷¸òà èíäèêàòîðà 
double BufX[]; // Âñïîìîãàòåëüíûé ìàññèâ
//+------------------------------------------------------------------+
//| Èíèöèàëèçàöèÿ. Ôóíêöèÿ init                                      |
//+------------------------------------------------------------------+
int init()
  {

//---- óñòàíîâêà áàðà, ñ êîòîðîãî íà÷èíàåòñÿ îòðèñîâêà èíäèêàòîðà
   SetIndexDrawBegin(0,PointsCount);
   IndicatorDigits(1);
//---- ðàçìåòêà áóôåðîâ
   SetIndexBuffer(0,Buf);           //áóôåð ãðàôèêà èíäèêàòîðà 

//---- íàçâàíèå îêíà äàííûõ è îêíà èíäèêàòîðà
   string short_name="TrendlessAG ("+SMAPeriod+")";       //â íàçâàíèè îòîáðàæàåòñÿ òîëüêî ïåðèîä SMA
   IndicatorShortName(short_name);
   SetIndexLabel(0,short_name);

//---- Óñòàíîâêà óðîâíåé    
   SetLevelValue(1,100.0);                   //óðîâåíü 100% ïåðåêóïëåííîñòè
   SetLevelValue(2,80.0);                    //óðîâåíü 80% ïåðåêóïëåííîñòè
   SetLevelValue(3,60.0);                    //óðîâåíü 60% ïåðåêóïëåííîñòè
   SetLevelValue(4,0.0);                     //óðîâåíü 0
   SetLevelValue(5,-60.0);                   //óðîâåíü 60% ïåðåïðîäàííîñòè
   SetLevelValue(6,-80.0);                   //óðîâåíü 80% ïåðåïðîäàííîñòè
   SetLevelValue(7,-100.0);                  //óðîâåíü 100% ïåðåïðîäàííîñòè
//---- ñòèëü óðîâíåé
   SetLevelStyle(STYLE_DOT,1,Silver);      //ñòèëü îòîáðàæåíèÿ óðîâíåé     
//---- êîíåö èíèöèàëèçàöèè
   return(0);
  }
//+------------------------------------------------------------------+
//| TrendlessAG                                                      |
//+------------------------------------------------------------------+
int start()
  {

//   int limit=PointsCount; // À çà÷åì áîëüøå òî ñ÷èòàòü?

   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+In100/100;

   ArrayResize(BufX,ArraySize(Buf));

   if(limit<SMAPeriod)return;

   for(int i=0; i<limit; i++)
     {

      Buf[i]=Close[i]-iMA(Symbol(),Period(),SMAPeriod,0,MODE_SMA,PRICE_CLOSE,i); // ðàññ÷èòûâàåì Close-SMA íà çàäàííîì êîëè÷åñòâå òî÷åê
      BufX[i]=MathAbs(Buf[i]); // À ýòî àáñîëþòíûå çíà÷åíèÿ Close-SMA
     }

   ArraySort(BufX); // Ñîðòèðóåì àáñîëþòíûå çíà÷åíèÿ ïî âîçðàñòàíèþ

   double level_100=BufX[limit*In100/100]; // îïðåäåëÿåì óðîâåíü +-100%. In100=90% çíà÷åíèé èíäèêàòîðà - âíóòðè ýòîãî ïðîìåæóòêà.
   
      for(i=0; i<limit; i++)
     {
      if(level_100!=0)
         Buf[i]=Buf[i]/level_100*100; //Íîðìèðóåì èñõîäíûé áóôåð îòíîñèòåëüíî 100%-ãî óðîâíÿ.
      else Buf[i]=EMPTY_VALUE;
     }
   return(0);
  }
//+------------------------------------------------------------------+

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 ---