Пример #1
0
        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);
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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);
        }