Esempio n. 1
0
        protected void calculateCurrentOpen(Series <DateTime, MarketDataElement> series)
        {
            if (currentOpenPrice != 0)
            {
                return;
            }
            MarketDataElement lastItem = (MarketDataElement)series.GetAt(series.KeyCount - 1);
            MarketDataElement openItem = MarketDateElementHelper.getFirstAvaMarketData(series, MarketDataUtil.getStartTime(lastItem.time));

            currentOpenPrice = openItem.open;
            log.Info("[calculateCurrentOpen] : currentOpen = " + currentOpenPrice);
        }
Esempio n. 2
0
        public static double findEnterPtTriggerMomentum(List <CMRow> rows, Series <DateTime, MarketDataElement> series, int period, DateTime startTime, double delta, String buySell)
        {
            Series <DateTime, MarketDataElement> lastNData = MarketDateElementHelper.getLastNMarketData(series, period - 1);
            MarketDataElement firstData = MarketDateElementHelper.getFirstAvaMarketData(lastNData, startTime);

            MarketDataElement lastData = series.GetAt(series.KeyCount - 1);
            //log.Info("firstData.open : " + firstData.open);
            double open = firstData.open;

            if (AppConstant.BUY_SIGNAL.Equals(buySell))
            {
                return(open + delta);
            }
            else
            {
                return(open - delta);
            }
        }
Esempio n. 3
0
        public static List <CMRow> calculate(List <CMRow> rows, Series <DateTime, MarketDataElement> series, int period, DateTime startTime)
        {
            Series <DateTime, MarketDataElement> lastNData = MarketDateElementHelper.getLastNMarketData(series, period);
            MarketDataElement firstData = MarketDateElementHelper.getFirstAvaMarketData(lastNData, startTime);
            MarketDataElement lastData  = series.GetAt(series.KeyCount - 1);
            double            open      = firstData.open;
            double            close     = lastData.close;
            double            delta     = Math.Abs(close - open);

            CMRow row = new CMRow();

            row.startTime = firstData.time;
            row.startPt   = firstData.open;
            row.endTime   = lastData.time;
            row.endPt     = lastData.close;
            row.deltaPt   = delta;
            rows.Add(row);
            return(rows);
        }