/// <summary> /// Get the last signal before barNo by signalActionType /// </summary> /// <param name="barNo"></param> /// <param name="signalActionType"></param> /// <returns></returns> public IndicatorSignal GetLastIndicatorSignalByActionType(int barNo, SignalActionType signal_actiontype) { int k = barNo; foreach (int kk in this.indicatorSignals.Keys.Reverse()) { if (kk < k) { if (barNo < 400) { Print(String.Format("{0}: GetLastIndicatorSignalByActionType -- kk,k={1},{2}; SignalActionType={3}", CurrentBar, kk, k, signal_actiontype.ToString())); } IndicatorSignal sig = GetIndicatorSignalByActionType(k, signal_actiontype); if (sig != null) { return(sig); } k = kk; } } return(null); }
/// <summary> /// Get the signal from bar with barNo and the signalActionType /// </summary> /// <param name="barNo"></param> /// <param name="signalActionType"></param> /// <returns></returns> public IndicatorSignal GetIndicatorSignalByActionType(int barNo, SignalActionType signal_actiontype) { List <IndicatorSignal> list_signal = GetIndicatorSignals(barNo); if (list_signal != null) { foreach (IndicatorSignal sig in list_signal) { if (sig.SignalAction != null && signal_actiontype.Equals(sig.SignalAction.SignalActionType)) { if (barNo < 400) { Print(String.Format("{0}: GetIndicatorSignalByActionType -- barNo={1}, SignalActionType={2}", CurrentBar, barNo, signal_actiontype.ToString())); } return(sig); } } } return(null); }