public static ExchangeSymbolsMap GetExchangeSymbolsStartWith(BaseExchange[] exchanges, string[] searchForText)
        {
            var results = new ExchangeSymbolsMap();

            foreach (var exch in exchanges)
            {
                results[exch.Name] = SymbolsStartWith(exch.SymbolList, searchForText);
            }
            return(results);
        }
        public static ExchangeSymbolsMap GetExchangeSymbols(BaseExchange[] exchanges)
        {
            var results = new ExchangeSymbolsMap();

            foreach (var exch in exchanges)
            {
                results[exch.Name] = exch.SymbolList;
            }
            return(results);
        }
        // This method can be called from the main program to search for symbols (good to use from the command line)
        public static void DisplaySymbols(string symbol = null)
        {
            /*var currencySymbols = new string[] { "BCH", "BTC", "BTG", "DCR", "ETC", "ETH", "LTC", "NEO", "XMR", "ZEC" };
             * var es = GetExchangeSymbolsStartWith(ExchangeList, currencySymbols);
             * es.WriteToFile(Folders.system_path("OneChain.MAIN.Exchange.Symbols.txt"));*/
            //var exchsymbols = ExchangeSymbols.ReadFromFile(Folders.system_path("OneChain.MAIN.Exchange.Symbols.txt"));
            var exchsymbols = ExchangeSymbolsMap.ReadFromFile(Folders.exe_path("Complete.Exchange.Symbols.txt"));

            Console.WriteLine();
            if (symbol == null)
            {
                exchsymbols.Display();          // display all symbols
                exchsymbols.DisplaySummary("ALL EXCHANGE SYMBOL SUMMARY:");
            }
            else
            {
                exchsymbols.Display(symbol);    // display only symbols containing specified text
            }

            /*var es = GetExchangeSymbols(CompleteExchangeList);
             * es.Display();
             * es.DisplaySummary();*/
        }