List all the currency pairs that can be traded. Is there a better way?

 

this my code:

void ListAllSymbols()
{

   bool flag=true;
   string ret="";
   int  n=SymbolsTotal( flag );
   int i;
  // string strTemp=strSymbol;
  // StringToLower(strTemp);
   string str="";
   int all=0;
   for(i=0;i<n;i++)
   {
      string name=SymbolName(i,flag);
     // StringToLower( name);
    //  if( strTemp==StringSubstr(name,0,6))
    //  {
     //    ret=SymbolName(i,false);
     //    break;
    //
      if( StringFind(name,"USD")<0 ) continue;
      string str1=StringSubstr(name,0,6);
      if( StringFind( str,str1)>=0) continue;
      str+=name+"\n";
      all++;
   }
   str+="OK!";
   //Comment(str);
   string str2=StringFormat("all=%d\n",all)+str;
   Comment(str2);
   return ;
}