Aggressiveness

Author: Copyright � Trofimov Evgeniy Vitalyevich, 2009
Aggressiveness
0 Views
0 Downloads
0 Favorites
Aggressiveness
//+---------------------------------------------------------------------+
//|                                              Aggressiveness.mq4     |
//|                                         Copyright © Trofimov 2009   |
//+---------------------------------------------------------------------+
//| Àãðåññèâíîñòü                                                       |
//|                                                                     |
//| Îïèñàíèå: Ïîêàçûâàåò ñêîëüêî ïóíêòîâ ïðîõîäèò èíñòðóìåíò            |
//| â ñðåäíåì çà îäíó ñâå÷ó, àíàëèçèðóÿ ïîñëåäíèå MyPeriod ïåðèîäîâ     |
//| Íåâàæíî â êàêîì íàïðàâëåíèè!                                        |
//|                                                                     |
//| Àâòîðñêîå ïðàâî ïðèíàäëåæèò Òðîôèìîâó Åâãåíèþ Âèòàëüåâè÷ó, 2009     |
//+---------------------------------------------------------------------+


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

//---- Ñâîéñòâà èíäèêàòîðà
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Black
#property indicator_width1 1

//---- Âõîäÿùèå ïàðàìåòðû
extern int MyPeriod=22;
extern double Lot=0; // 0 - â ïóíêòàõ
                     // >0 - â âàëþòå äåïîçèòà

bool ReDraw=true; //-åñëè âêëþ÷åí, òî ïåðåðèñîâûâàåò íóëåâîé áàð ïðè êàæäîì íîâîì òèêå
// åñëè âûêëþ÷åí, òî íóëåâîé áàð ñîäåðæèò ôèêñèðîâàííîå çíà÷åíèå, âû÷èñëåííîå ïî ïðåäûäóùèì (ãîòîâûì) áàðàì
double Buff_line1[];
//+------------------------------------------------------------------+
//|                Ôóíêöèÿ èíèöèàëèçàöèè èíäèêàòîðà                  |
//+------------------------------------------------------------------+
int init()
  {
//---- x äîïîëíèòåëüíûõ áóôåðà, èñïîëüçóåìûõ äëÿ ðàñ÷åòà
   IndicatorBuffers(1);
   IndicatorDigits(0); 
//---- ïàðàìåòðû ðèñîâàíèÿ (óñòàíîâêà íà÷àëüíîãî áàðà)
   SetIndexDrawBegin(0,MyPeriod);
//---- x ðàñïðåäåëåííûõ áóôåðà èíäèêàòîðà
   SetIndexBuffer(0,Buff_line1);
//---- èìÿ èíäèêàòîðà è ïîäñêàçêè äëÿ ëèíèé
   if(Lot==0) {
      IndicatorShortName("Aggressiveness("+MyPeriod+"), (pips) = ");
   } else {
      IndicatorShortName("Aggressiveness("+MyPeriod+"), ("+AccountCurrency()+"·"+DoubleToStr(Lot,2)+") = ");
   }
   return(0);
  }
//+------------------------------------------------------------------+
//|                Ôóíêöèÿ èíäèêàòîðà                                |
//+------------------------------------------------------------------+
int start() {
   int limit, RD;
   if(ReDraw) RD=1;
   // Ïðîïóùåííûå áàðû
   int counted_bars=IndicatorCounted();
//---- îáõîäèì âîçìîæíûå îøèáêè
   if(counted_bars<0) return(-1);
//---- íîâûå áàðû íå ïîÿâèëèñü è ïîýòîìó íè÷åãî ðèñîâàòü íå íóæíî
   limit=Bars-counted_bars-1+RD;
//---- îñíîâíûå ïåðåìåííûå
   double B;
//---- îñíîâíîé öèêë
   for(int t=limit-RD; t>-RD; t--) {
      B=0;
      for(int x=t+MyPeriod-1; x>=t; x--) { 
         if(Close[x]>Open[x]) {
            //áåëàÿ ñâå÷à
            B=B+(Close[x]-Close[x+1]);
            
         }else{
            //÷¸ðíàÿ ñâå÷à
            B=B+(Close[x+1]-Close[x]);
         }
      }//Next x
      Buff_line1[t]=B/Point/MyPeriod;
      if(Lot>0) Buff_line1[t]=Buff_line1[t]*MarketInfo(Symbol(),MODE_TICKVALUE)*Lot;
      if(!ReDraw && t==1) Buff_line1[0]=Buff_line1[1];
   }//Next t
   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 ---