Aggressiveness2





//+---------------------------------------------------------------------+
//|                                             Aggressiveness2.mq4     |
//|                                         Copyright © Trofimov 2009   |
//+---------------------------------------------------------------------+
//| Àãðåññèâíîñòü2                                                      |
//|                                                                     |
//| Îïèñàíèå: Ïîêàçûâàåò ñêîëüêî ïóíêòîâ ïðîõîäèò èíñòðóìåíò            |
//| çà îäíó ñâå÷ó â ñðåäíåì çà ïîñëåäíèå nDays äíåé.                    |
//| Èíäèêàòîð ñëåäóåò çàïóñêàòü òîëüêî íà òàéìôðåéìàõ ìåëü÷å, ÷åì D!    |
//|                                                                     |
//| Àâòîðñêîå ïðàâî ïðèíàäëåæèò Òðîôèìîâó Åâãåíèþ Âèòàëüåâè÷ó, 2009     |
//+---------------------------------------------------------------------+


#property copyright "Copyright © Evgeniy Trofimov, 2009"
#property link      "http://TrofimovVBA.narod.ru/"

//---- Ñâîéñòâà èíäèêàòîðà
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 MidnightBlue
#property indicator_width1 1
#property indicator_color2 Maroon
#property indicator_width2 1

//---- Âõîäÿùèå ïàðàìåòðû
extern int nDays=22; // - êîëè÷åñòâî àíàëèçèðóåìûõ äíåé
extern int Future=3; // - íà ñêîëüêî ñâå÷åé âïåð¸ä ïîêàçûâàòü

double Buff_line1[];
double Buff_line2[];
double CUp, CDn;
int CandlesInDay;
//+------------------------------------------------------------------+
//|                Ôóíêöèÿ èíèöèàëèçàöèè èíäèêàòîðà                  |
//+------------------------------------------------------------------+
int init() {
   IndicatorBuffers(2);
   IndicatorDigits(0); 
//---- ïàðàìåòðû ðèñîâàíèÿ (óñòàíîâêà íà÷àëüíîãî áàðà)
   //SetIndexDrawBegin(0,MyPeriod);
//---- x ðàñïðåäåëåííûõ áóôåðà èíäèêàòîðà
   SetIndexBuffer(0,Buff_line1);
   SetIndexBuffer(1,Buff_line2);
   SetIndexStyle(0, DRAW_HISTOGRAM, EMPTY, EMPTY);
   SetIndexStyle(1, DRAW_HISTOGRAM, EMPTY, EMPTY);
   SetIndexShift(0, Future);
   SetIndexShift(1, Future);
   SetIndexLabel(0, "Up");
   SetIndexLabel(1, "Dn");
   
//---- èìÿ èíäèêàòîðà è ïîäñêàçêè äëÿ ëèíèé
   IndicatorShortName("Aggressiveness2("+nDays+", "+Future+")");
   switch(Period()){
      case PERIOD_M1:  CandlesInDay=1440; break;
      case PERIOD_M5:  CandlesInDay=288;  break;
      case PERIOD_M15: CandlesInDay=96;   break;
      case PERIOD_M30: CandlesInDay=48;   break;
      case PERIOD_H1:  CandlesInDay=24;   break;
      case PERIOD_H4:  CandlesInDay=6;    break;
      default:         CandlesInDay=1;    break;
   }
   return(0);
}//init()
//+------------------------------------------------------------------+
//|                Ôóíêöèÿ èíäèêàòîðà                                |
//+------------------------------------------------------------------+
int start() {
   int BeginBar;
   int counted_bars=IndicatorCounted(); // Ðàíåå âû÷èñëåííûå áàðû
   if(counted_bars<0) return(-1); //---- îáõîäèì âîçìîæíûå îøèáêè
//---- íîâûå áàðû íå ïîÿâèëèñü è ïîýòîìó íè÷åãî ðèñîâàòü íå íóæíî
   BeginBar=Bars-counted_bars-1;
//---- îñíîâíûå ïåðåìåííûå
   double B;
   for(int t=BeginBar; t>=0; t--) {
      LengthCandle(t-Future);
      Buff_line1[t]=CUp;
      Buff_line2[t]=-CDn;
   }//Next t
   return(0);
} //start()
//+------------------------------------------------------------------+
int LengthCandle(int CurrenCandle) {
   int i, DayUp, DayDn;
   CUp=0; CDn=0;
   for(i=CurrenCandle+nDays*CandlesInDay;i>CurrenCandle;i=i-CandlesInDay) { // - íîìåð ñâå÷è
      if(Open[i]<Close[i]) {
         CUp=CUp+(Close[i]-Open[i])/Point;
         DayUp++;
      } else {
         CDn=CDn+(Open[i]-Close[i])/Point;
         DayDn++;
      }
   }//Next i
   //CDn=CDn/nDays;
   //CUp=CUp/nDays;
   if(DayUp!=0) CUp=CUp/DayUp;
   if(DayDn!=0) CDn=CDn/DayDn;
   return(0);
} //LengthCandle()



Sample





Analysis



Market Information Used:

Series array that contains close prices for each bar
Series array that contains open prices of each bar


Indicator Curves created:


Implements a curve of type DRAW_HISTOGRAM

Indicators Used:



Custom Indicators Used:

Order Management characteristics:

Other Features: