public bool AddSymbol(string name, float timeframe, out SymbolInAction symbol) { symbol = SymbolInActions.FirstOrDefault(x => x.Name == name && x.TimeFrame == timeframe); if (symbol == null || (symbol != null && symbol.IsDirty)) { if (symbol != null) { symbol.RefreshScripts(); symbol.IsDirty = false; } else { symbol = new SymbolInAction(name, timeframe); SymbolInAction tmp = symbol; Dispatcher.FromThread(OrderManager.UIThread).Invoke(() => { SymbolInActions.Add(tmp); }); foreach (IController controller in Controllers) { if (controller.IsConnected) { symbol.FillInSymbolDefinition(controller); symbol.FillInContractDetails(controller); } } } return(true); } return(false); }
public void RemoveSymbol(SymbolInAction symbol) { Dispatcher.FromThread(OrderManager.UIThread).Invoke(() => { SymbolInActions.Remove(symbol); }); }