Price Data Components
Miscellaneous
0
Views
0
Downloads
0
Favorites
USDominator
//+-----------------------------------------------------------------------+
//| USDominator.mq4 |
//+-----------------------------------------------------------------------+
#property copyright "Copyright © 2012, Andrey Vassiliev (MoneyJinn), v1.2"
#property link "www.vassiliev.ru"
//Èíäèêàòîð äîìèíèðîâàíèÿ äîëëàðà ÑØÀ.
//Çíà÷åíèå èíäèêàòîðà (àêòèâíîñòü) â êàæäîì áàðå îïðåäåëÿåòñÿ êîëè÷åñòâîì êîíòðîëüíûõ
//èíñòðóìåíòîâ, ñòîèìîñòü êîòîðûõ â ýòîì áàðå ïàäàåò ïî îòíîøåíèþ ê äîëëàðó ÑØÀ.
//Ïðèíöèï ðàáîòû èíäèêàòîðà îñíîâàí íà âûÿâëåííîé åãî àâòîðîì çàêîíîìåðíîñòè, â ñîîòâåòñòâèè
//ñ êîòîðîé ïðè äîìèíèðóþùåé àêòèâíîñòè äîëëàðà ÑØÀ ïî îòíîøåíèþ ê êîíòðîëüíîìó íàáîðó
//èíñòðóìåíòîâ, äîëëàð ñ âûñîêîé âåðîÿòíîñòüþ ðàñòåò òàêæå è ïî îòíîøåíèþ ê ëþáîìó äðóãîìó àêòèâó.
//Ïîýòîìó, â ñîîòâåòñòâèè ñ ïîêàçàíèÿìè èíäèêàòîðà, ïðè óêàçàííîé äîìèíèðóþùåé àêòèâíîñòè,
//êîãäà Activity > 50, ñëåäóåò ïîêóïàòü ëþáîé àêòèâ USDxxx è ïðîäàâàòü ëþáîé àêòèâ xxxUSD.
#property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 100
#property indicator_level1 20
#property indicator_level2 50
#property indicator_level3 80
#property indicator_levelcolor Silver
#property indicator_levelwidth 0
#property indicator_levelstyle 2
#property indicator_buffers 1
#property indicator_color1 Yellow
#property indicator_style1 0
//Äëÿ ðàáîòû èíäèêàòîðà ñëåäóþùèå ñèìâîëû äîëæíû ïðèñóòñòâîâàòü â îáçîðå ðûíêà òåðìèíàëà MetaTrader.
extern string Symbol1="XAUUSD"; // GOLD
extern string Symbol2="EURUSD";
extern string Symbol3="USDJPY";
extern string Symbol4="GBPUSD";
extern string Symbol5="USDCHF";
extern string Symbol6="AUDUSD";
extern string Symbol7="USDCAD";
extern string Symbol8="USDSGD";
extern string Symbol9="USDHKD";
extern string Symbol0="NZDUSD";
//Êîíòðîëüíûé íàáîð ìîæåò áûòü ñîêðàùåí, à îñíîâíûå èíñòðóìåíòû èçìåíåíû.
//Äëÿ îòêëþ÷åíèÿ ñèìâîëà äîñòàòî÷íî ñòåðåòü åãî íàçâàíèå â íàñòðîéêàõ.
//Àëüòåðíàòèâíûé êîíòðîëüíûé íàáîð: XAUUSD, EURUSD, USDJPY, GBPUSD, USDCHF.
double B0[],Step;
int B3[10];
string B4[10];
int IN;
//
int init()
{
if(ArraySize(B0)>0)ArrayInitialize(B0,0);
IndicatorBuffers(1);
IndicatorDigits(0);
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,B0);
SetIndexLabel(0,"Activity");
IndicatorShortName("USDominator");
B4[0]=Symbol1;
B4[1]=Symbol2;
B4[2]=Symbol3;
B4[3]=Symbol4;
B4[4]=Symbol5;
B4[5]=Symbol6;
B4[6]=Symbol7;
B4[7]=Symbol8;
B4[8]=Symbol9;
B4[9]=Symbol0;
double i=0; Step=0;
for(int k=0;k<=9;k++)
{
if(StringFind(B4[k],"USD",0)>=0 && iOpen(B4[k],Period(),0)>0){i++;B3[k]=StringFind(B4[k],"USD",0);}else{B3[k]=-1;}
}
if(i>0){Step=100/i;}
if(StringFind(Symbol(),"USD",0)>3){IN=1;}else{IN=0;}
return(0);
}
//
int Bar(int k, int i)
{
int p=B3[k];
int result=0;
if(p>=0)
{
string S=B4[k];
int i1=iBarShift(S,Period(),Time[i],true);
if(i1<0){return(2000);}
if(p<3 && iClose(S,Period(),i1)-iOpen(S,Period(),i1)>0){result=1;}
if(p>2 && iClose(S,Period(),i1)-iOpen(S,Period(),i1)<0){result=1;}
}
return(result);
}
//
int 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+1;
int pos=0;
double b=0;
if(limit>1){pos=limit-1;}
/* int IndCounted=IndicatorCounted();
if(IndCounted<0){return(-1);}
if(IndCounted==0){init();}
int pos=0;
double b=0;
if(Bars>IndCounted+1){pos=(Bars-IndCounted)-1;}*/
for(int i=pos;i>=0;i--)
{
b=Step*(Bar(1,i)+Bar(2,i)+Bar(3,i)+Bar(4,i)+Bar(5,i)+Bar(6,i)+Bar(7,i)+Bar(8,i)+Bar(9,i)+Bar(0,i));
if(b>100){B0[i]=B0[i+1];}else{B0[i]=b;}
}
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
---