how to put 2 price moves in the same chart for correletion ?????
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); }
Dear comunity!
how to put to price moves in the same chart for correletion
thnks in advance