selecting all forex major symbol

 
hello, I'm trying to code multi currency EA. this code below works properly when I test it but my question is, is there any way of selecting All of the Major Pairs in Forex without making my code too long and if I try to change broker I don't want to start over again changing the symbol manually. because if I try to change broken some symbol don't work because the broker doesn't support that symbol 
#define NumberOfForexSymbol 15

enum TradingSymbol
  {
   Forex_Major,Forex_Minor,Forex_Exotic,All_Forex
  };

input TradingSymbol  InpSymbol        =Forex_Major;//Trading Symbol

static string SymbolLoop[];

if(InpSymbol==Forex_Major)
     {
      ArrayResize(SymbolLoop,NumberOfForexSymbol);
      //Major Pairs
      SymbolLoop[0]="CADJPY";
      SymbolLoop[1]="CHFJPY";
      SymbolLoop[2]="EURCAD";
      SymbolLoop[3]="EURCHF";
      SymbolLoop[4]="EURGBP";
      SymbolLoop[5]="EURJPY";
      SymbolLoop[6]="CADCHF";
      SymbolLoop[7]="EURUSD";
      SymbolLoop[8]="USDJPY";
      SymbolLoop[9]="GBPCAD";
      SymbolLoop[10]="GBPCHF";
      SymbolLoop[11]="GBPJPY";
      SymbolLoop[12]="GBPUSD";
      SymbolLoop[13]="USDCAD";
      SymbolLoop[14]="USDCHF";
}
 
Karl Robeck: code too long and if I try to change broker I don't want to start over again

Make them an input,

input string majors="CADJPY,CHFJPY,EURCAD,EURCHF,EURGBP,EURJPY,CADCHF,EURUSD,USDJPY,GBPCAD,GBPCHF,GBPJPY,GBPUSD,USDCAD,USDCHF";
static string SymbolLoop[];
static int    NumberOfForexSymbol;

if(InpSymbol==Forex_Major)
     {
      NumberOfForexSymbol = StringSplit(majors, ',', SymbolLoop);
}
or read a file.
 
William Roeder #:

Make them an input,

or read a file.

I tried it on my code and it works, but is this right? Thanks William!

enum TradingSymbol
  {
   Forex_Major,Forex_Minor,Forex_Exotic,All_Forex
  };
input TradingSymbol InpSymbol=Forex_Major; 
input string majors="CADJPY,CHFJPY,EURCAD,EURCHF,EURGBP,EURJPY,CADCHF,EURUSD,USDJPY,GBPCAD,GBPCHF,GBPJPY,GBPUSD,USDCAD,USDCHF";
input string minors="AUDCHF,AUDJPY,AUDNZD,AUDUSD,EURAUD,AUDCAD,EURNZD,NZDUSD,GBPAUD,GBPNZD,NZDCAD,NZDCHF,NZDJPY";
input string exotic="EURDKK,EURHKD,EURHUF,EURNOK,EURPLN,EURRUB,EURSEK,EURSGD,EURTRY,EURZAR,GBPDKK,GBPNOK,GBPSEK,CHFSGD,GBPSGD,USDZAR
                ,NZDSGD,SGDJPY,USDCNH,USDDKK,USDHKD,USDHUF,USDMXN,USDNOK,USDPLN,USDRUB,USDSEK,USDSGD,USDTRY";

static string SymbolLoop[];
static int    NumberOfForexSymbol;

if(InpSymbol==Forex_Major)
     {
      NumberOfForexSymbol = StringSplit(majors, ',', SymbolLoop);
}else
if(InpSymbol==Forex_Minor){
      NumberOfForexSymbol = StringSplit(minors, ',', SymbolLoop);
}else
if(InpSymbol==Forex_Exotic){
      NumberOfForexSymbol = StringSplit(exotic, ',', SymbolLoop);
}
 
William Roeder #:

Make them an input,

or read a file.

Neat solution - nice!