예제 #1
0
        public static baseDS.lastPriceDataDataTable GetLastPrice(AppTypes.PriceDataType type, string timeScaleCode, DateTime fromDate)
        {
            WriteLog(common.SysSeverityLevel.Informational, "", type.ToString() + " " + timeScaleCode + " " + fromDate.ToString());
            try
            {
                switch (type)
                {
                case AppTypes.PriceDataType.High: return(lastPriceDataTA.GetHighSum(timeScaleCode, fromDate));

                case AppTypes.PriceDataType.Low: return(lastPriceDataTA.GetLowSum(timeScaleCode, fromDate));

                case AppTypes.PriceDataType.Close:

                    return(lastPriceDataTA.GetCloseSum(timeScaleCode, fromDate));

                case AppTypes.PriceDataType.Open: return(lastPriceDataTA.GetOpenSum(timeScaleCode, fromDate));

                case AppTypes.PriceDataType.Volume: return(lastPriceDataTA.GetVolumeSum(timeScaleCode, fromDate));

                default:
                    WriteLog(common.SysSeverityLevel.Error, "DB004", "Invalid call to GetLastPrice()");
                    break;
                }
            }
            catch (Exception er)
            {
                WriteLog(common.SysSeverityLevel.Error, "DB003", er);
            }
            return(null);
        }
예제 #2
0
        public static DataSeries GetData(databases.baseDS.priceDataDataTable dataTbl, int startIdx, AppTypes.PriceDataType type)
        {
            DataSeries ds = new DataSeries();

            ds.Values = GetDataList(dataTbl, startIdx, type);
            return(ds);
        }
예제 #3
0
        public static double[] GetDataList(databases.baseDS.priceDataDataTable dataTbl, int startIdx, int endIdx, AppTypes.PriceDataType type)
        {
            double[] data = new double[endIdx - startIdx + 1];
            switch (type)
            {
            case AppTypes.PriceDataType.High:
                for (int i = startIdx, j = 0; i <= endIdx; i++, j++)
                {
                    if (dataTbl[i].RowState == System.Data.DataRowState.Deleted)
                    {
                        continue;
                    }
                    data[j] = (double)dataTbl[i].highPrice;
                }
                break;

            case AppTypes.PriceDataType.Low:
                for (int i = startIdx, j = 0; i <= endIdx; i++, j++)
                {
                    if (dataTbl[i].RowState == System.Data.DataRowState.Deleted)
                    {
                        continue;
                    }
                    data[j] = (double)dataTbl[i].lowPrice;
                }
                break;

            case AppTypes.PriceDataType.Open:
                for (int i = startIdx, j = 0; i <= endIdx; i++, j++)
                {
                    if (dataTbl[i].RowState == System.Data.DataRowState.Deleted)
                    {
                        continue;
                    }
                    data[j] = (double)dataTbl[i].openPrice;
                }
                break;

            case AppTypes.PriceDataType.Close:
                for (int i = startIdx, j = 0; i <= endIdx; i++, j++)
                {
                    if (dataTbl[i].RowState == System.Data.DataRowState.Deleted)
                    {
                        continue;
                    }
                    data[j] = (double)dataTbl[i].closePrice;
                }
                break;

            case AppTypes.PriceDataType.Volume:
                for (int i = startIdx, j = 0; i <= endIdx; i++, j++)
                {
                    if (dataTbl[i].RowState == System.Data.DataRowState.Deleted)
                    {
                        continue;
                    }
                    data[j] = (double)dataTbl[i].volume;
                }
                break;

            case AppTypes.PriceDataType.DateTime:
                for (int i = startIdx, j = 0; i <= endIdx; i++, j++)
                {
                    if (dataTbl[i].RowState == System.Data.DataRowState.Deleted)
                    {
                        continue;
                    }
                    data[j] = dataTbl[i].onDate.ToOADate();
                }
                break;

            default:
                common.system.ThrowException("Invalid dataField in MakeDataList()"); break;
            }
            return(data);
        }
예제 #4
0
 public static double[] GetDataList(databases.baseDS.priceDataDataTable dataTbl, int startIdx, AppTypes.PriceDataType type)
 {
     return(GetDataList(dataTbl, startIdx, dataTbl.Count - 1, type));
 }