Example #1
0
        public static string InstrumentNameForSpeechSynthesizer(this IInstrument instrument)
        {
            string result;
            var    ninjaTraderSymbol = instrument.GetSymbol(SymbolProviderType.NinjaTrader);

            if (instrumentNameMappings.TryGetValue(ninjaTraderSymbol, out result))
            {
                return(result);
            }
            if (instrument.IsFutureContract())
            {
                // insert spaces between each letter of the master instrument symbol so the voice spells out the
                // symbol of the futures master
                var masterSymbol = (instrument as IFutureContract).FutureMaster.GetSymbol(SymbolProviderType.NinjaTrader);
                return(string.Join(" ", masterSymbol.Select(c => c.ToString()).ToArray()));
            }
            // some other instrument .. just do what we can
            return(ninjaTraderSymbol);
        }