//+------------------------------------------------------------------+ //| Brooky_Strength_Rev_1.mq4 | //| Copyright © 2010,Brooky | //| http://forex-indicators.weebly.com | //| Modified by Pat1 forexfactory.pat1@gmail.com | //+------------------------------------------------------------------+ #property copyright "Copyright © 2010,Brooky" #property link "http://forex-indicators.weebly.com" #define Major 1 #define Minor -1 #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 C'47,47,47' #property indicator_color2 DodgerBlue #property indicator_width1 1 #property indicator_width2 2 #property indicator_level1 8 #property indicator_level2 0 #property indicator_level3 -8 #property indicator_levelcolor Yellow #property indicator_levelstyle STYLE_DOT #property indicator_maximum 10.5 #property indicator_minimum -10.5 extern string Author_Site = "Forex-Indicators.weebly.com"; extern string Pair1 = "USDCHF"; extern string Pair2 = "USDJPY"; extern string Pair3 = "USDCAD"; extern string Pair4 = "AUDUSD"; extern string Pair5 = "EURUSD"; extern string Pair6 = "GBPUSD"; extern string Pair7 = "NZDUSD"; extern string Checking_MAs = "Fast v Slow Checks"; extern int slow_check_ma = 55; extern int fast_check_ma = 34; extern string Data_Smoothie = "Smoothing Line"; extern int sig_smooth = 15; extern string Checking_TF = "Timeframe 0 is current"; extern int check_tf = 0; string Pairs[7]; int PairType[7]; //---- buffers double data_buffer[]; double sig_buffer[]; int i; double multiplier = -1.4285714285714285714285714285714; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators Pairs[0]=Pair1; Pairs[1]=Pair2; Pairs[2]=Pair3; Pairs[3]=Pair4; Pairs[4]=Pair5; Pairs[5]=Pair6; Pairs[6]=Pair7; string a =StringSubstr(Pairs[0],0,3); string b =StringSubstr(Pairs[0],3,3); string a1=StringSubstr(Pairs[1],0,3); string b1=StringSubstr(Pairs[1],3,3); if(a==a1 || a==b1)string MainCurrency=a; else MainCurrency=b; for(int j=0;j<7;j++) { if(StringSubstr(Pairs[j],0,3)==MainCurrency){PairType[j]=Major;Print(Pairs[j]," 1");} else if(StringSubstr(Pairs[j],3,3)==MainCurrency){PairType[j]=Minor;Print(Pairs[j]," -1");} else {string com=StringConcatenate("This Currency ",Pairs[j]," is not a part of the Main Currency ",MainCurrency," group - Indicator aborted"); Print(com); Comment(com); return(0);} } SetIndexBuffer(0,data_buffer);SetIndexStyle(0,DRAW_LINE); SetIndexStyle(1,DRAW_LINE);SetIndexBuffer(1,sig_buffer); //---- name for DataWindow and indicator subwindow label IndicatorShortName("forex-indicators.weebly.com " +"("+MainCurrency+" Strength Effect)" ); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int limit; int counted_bars=IndicatorCounted(); //---- check for possible errors if(counted_bars<0) return(-1); //---- the last counted bar will be recounted if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; //---- main loop for( i=0; i mas0 && maf0 > maf1)c= 1.0 ; if(maf0 > mas0 && maf0 < maf1)c= 0.5 ; if(maf0 < mas0 && maf0 < maf1)c=-1.0 ; if(maf0 < mas0 && maf0 > maf1)c=-0.5 ; c=c*PairType[j]; return(c); }