public void AddTradeSignal(int barNo, SortedDictionary <int, List <TradeSignal> > listSignals, TradeSignalType tdSigType, TradeSignalSource tdSigSrc, OrderAction ordAct, OrderType ordType) { TradeSignal isig = new TradeSignal(); isig.BarNo = barNo; isig.SignalType = tdSigType; isig.SignalSource = tdSigSrc; isig.Action = ordAct; isig.Order_Type = ordType; AddTradeSignal(barNo, listSignals, isig); }
/// <summary> /// Get last signal list before barNo by signal source /// </summary> /// <param name="barNo"></param> /// <param name="signal_type"></param> /// <returns></returns> public List <TradeSignal> GetLastTradeSignalBySource(int barNo, SortedDictionary <int, List <TradeSignal> > listSignals, TradeSignalSource signal_src) { int k = barNo; foreach (int kk in listSignals.Keys.Reverse()) { if (kk < k) { List <TradeSignal> sigs = GetTradeSignalBySource(k, listSignals, signal_src); if (sigs != null) { return(sigs); } k = kk; } } return(null); }
/// <summary> /// Get the signal list for the bar by signal source /// </summary> /// <param name="barNo"></param> /// <param name="signal_type"></param> /// <returns></returns> public List <TradeSignal> GetTradeSignalBySource(int barNo, SortedDictionary <int, List <TradeSignal> > listSignals, TradeSignalSource signal_src) { List <TradeSignal> list_signal = GetTradeSignals(barNo, listSignals); if (list_signal != null) { List <TradeSignal> list_sigByType = new List <TradeSignal>(); foreach (TradeSignal sig in list_signal) { if (signal_src == sig.SignalSource) { list_sigByType.Add(sig); } } if (list_sigByType.Count > 0) { return(list_sigByType); } } return(null); }