try here or this indicator might help http://www.forexfactory.com/showthread.php?t=156747
//+------------------------------------------------------------------+ //| RSImulti.mq4 | //+------------------------------------------------------------------+ //---- indicator settings #property indicator_separate_window #property indicator_buffers 5 extern int RSIPeriod=14; extern int TimeFrame=0; //1=M1;5=M5;15=M15;30=M30;60=H1;240=H4;1440=D1; extern int AppliedPrice=0; //0=Close;1=Open;2=High;3=Low;4=Median;5=Typical;6=Weighted extern bool EUR=true, GBP=true, JPY=true, CHF=true, USD=true; //---- indicator pairs string pair[4]={"EURUSD","GBPUSD","USDJPY","USDCHF"}; //---- indicator buffers double RSI_EUR[], RSI_GBP[], RSI_JPY[], RSI_CHF[], RSI_USD[]; //---- indicator currencies string currency[5]={"EUR ","GBP ","JPY ","CHF ","USD "}; //---- indicator colors color clr[5]={RoyalBlue,Silver,Yellow,Red,LimeGreen}; //---- indicator levels double level[5]={-30, -15, 0, 15, 30}; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- drawing settings int i,cl,curr; SetLevelStyle(STYLE_DOT,1,LightSlateGray); for(int l=0; l<=4; l++){SetLevelValue(l,level[l]);} int bars=WindowBarsPerChart(); int width; for(i=0;i<=3;i++){ int brs[4]={800, 400, 200, 100, 50}; int wdt[4]={1, 2, 3, 4, 5}; if(bars<=brs[i]) width=wdt[i];} IndicatorDigits(0); for(i=0,cl=0,curr=0;i<=4;i++,cl++,curr++){ SetIndexStyle(i,DRAW_LINE,STYLE_SOLID,width,clr[cl]); SetIndexDrawBegin(i,RSIPeriod); SetIndexLabel(i,currency[curr]);} //---- 3 indicator buffers mapping if(EUR){ SetIndexBuffer(0,RSI_EUR);} else{ SetIndexBuffer(0,NULL);} if(GBP){ SetIndexBuffer(1,RSI_GBP);} else{ SetIndexBuffer(1,NULL);} if(JPY){ SetIndexBuffer(2,RSI_JPY);} else{ SetIndexBuffer(2,NULL);} if(CHF){ SetIndexBuffer(3,RSI_CHF);} else{ SetIndexBuffer(3,NULL);} if(USD){ SetIndexBuffer(4,RSI_USD);} else{ SetIndexBuffer(4,NULL);} //---- name for DataWindow and indicator subwindow label switch(TimeFrame) { case 1 : string TimeFrameStr="M1"; break; case 5 : TimeFrameStr="M5"; break; case 15 : TimeFrameStr="M15"; break; case 30 : TimeFrameStr="M30"; break; case 60 : TimeFrameStr="H1"; break; case 240 : TimeFrameStr="H4"; break; case 1440 : TimeFrameStr="D1"; break; case 10080 : TimeFrameStr="W1"; break; case 43200 : TimeFrameStr="MN1"; break; default : TimeFrameStr=""; } IndicatorShortName("RSI "+TimeFrameStr+" ("+RSIPeriod+")"); //---- initialization done return(0); } //+------------------------------------------------------------------+ //| Commodity Channel Index | //+------------------------------------------------------------------+ int start() { // work with visible bars. int inverter=-1; double zero=-50; int divider=4; int bars_count=WindowBarsPerChart(); int bar=WindowFirstVisibleBar(); double EUR=1.61; double GBP=1.15; double CHF=1.07; double JPY=1.17; for(int i=0; i<bars_count; i++,bar--) //---- last counted bar will be recounted { // time frames to use int shift = iBarShift(NULL,TimeFrame,Time[i]); // setup indies for tf RSI_EUR[i]= iRSI(pair[0],TimeFrame,RSIPeriod,AppliedPrice,shift)+zero; RSI_GBP[i]= iRSI(pair[1],TimeFrame,RSIPeriod,AppliedPrice,shift)+zero; RSI_JPY[i]=(iRSI(pair[2],TimeFrame,RSIPeriod,AppliedPrice,shift)+zero)*inverter; RSI_CHF[i]=(iRSI(pair[3],TimeFrame,RSIPeriod,AppliedPrice,shift)+zero)*inverter; RSI_USD[i]=(RSI_EUR[i]*inverter + RSI_GBP[i]*inverter + RSI_JPY[i]*inverter + RSI_CHF[i]*inverter)/divider; } return(0); }
![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Dear comunity!
how to put to price moves in the same chart for correletion
thnks in advance