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