/// <summary> /// 构造函数 /// </summary> /// <param name="codes"></param> /// <param name="cycle"></param> /// <param name="date1"></param> /// <param name="date2"></param> public GroupStockHisKLineData(List <int> codes, KLineCycle cycle, int date1, int date2) { _codes = codes; _cycle = cycle; _date1 = date1; _date2 = date2; _reqKLineDataRange = ReqKLineDataRange.StartDateToEndDate; }
/// <summary> /// 构造函数 /// </summary> /// <param name="code"></param> /// <param name="cycle"></param> /// <param name="date1"></param> /// <param name="date2"></param> public OneStockHisKLineData(int code, KLineCycle cycle, int date1, int date2) { _reqKLineDataRange = ReqKLineDataRange.StartDateToEndDate; _cycle = cycle; _code = code; _date1 = date1; _date2 = date2; }
private static void GetNormalFormulaOutput(EMIndicator indicator, FmFormulaOutput output, int dataCount, int index, int selectIndex, MarketType2 Market, KLineCycle KLineCycle) { String nameTemp = output.fmOutput[index].name.Trim('\0'); List <float> outputList = new List <float>(0); double[] tempOutput = new double[1]; for (int j = 0; j < dataCount; j++) { IntPtr prt = new IntPtr(output.fmOutput[index].normaloutput.ToInt64() + sizeof(double) * j); Marshal.Copy(prt, tempOutput, 0, 1); float temp = Convert.ToSingle(tempOutput[0]); #region 数据特殊处理 if ((float.IsInfinity(temp) || float.IsNaN(temp)) && (indicator.IndicatorName == "VOL" || indicator.IndicatorName == "DDX" || indicator.IndicatorName == "DDY" || indicator.IndicatorName == "DDZ" || indicator.IndicatorName == "ZJBY" || indicator.IndicatorName == "ZJQS")) { temp = 0F; } //对财富通服务器成交量进行特殊处理 if (indicator.IndicatorName == "VOL") { temp = temp * 100F; } else if (indicator.IndicatorName == "ZJQS") { temp = temp / 10000F; } #endregion outputList.Add(temp); } using (QuoteDataStru quoteDataStru = new QuoteDataStru()) { quoteDataStru.QuoteName = nameTemp; quoteDataStru.QuoteDataList = outputList; if (index == selectIndex) { quoteDataStru.FlagQuoteDataSelected = true; } //根据FORMULA_LINETYPE获取对应的线型 quoteDataStru.QuotePicType = GetQuotePicType(output.fmOutput[index].dec.linetype); //为指标赋绘图颜色 if (Color.FromArgb((int)output.fmOutput[index].dec.clr) != Color.FromArgb(255, 255, 255)) { quoteDataStru.QuoteColor = Color.FromArgb(Convert.ToInt32(output.fmOutput[index].dec.clr)); } else { quoteDataStru.QuoteColor = IndicatorColors[index]; } indicator.QuoteData.Add(quoteDataStru); } }
public PriceDataItem GetPriceDate( string stockId, KLineCycle cycle, int referOffset, DateTime endDate) { using (var context = RepositoryContext.Create()) { var repository = context.GetRepository<DailyPriceDataRepository>(); return repository.GetDaylineData(stockId, endDate, endDate).FirstOrDefault(); } }
/// <summary> /// K线 /// </summary> /// <param name="code"></param> public static void QueryHistoryDatas(String code, KLineCycle cycle) { if (EMSecurityService.KwItems.ContainsKey(code)) { KwItem item = EMSecurityService.KwItems[code]; int innerCode = item.Innercode; //财富通历史数据 OneStockHisKLineData oneStockHisKLineData = new OneStockHisKLineData(innerCode, cycle, 0, 0); oneStockHisKLineData._reqKLineDataRange = ReqKLineDataRange.All; m_queryHistoryDatas[code] = oneStockHisKLineData; oneStockHisKLineData.Start(); } }
/// <summary> /// 获取一只股票K线的数据 /// </summary> /// <param name="code"></param> /// <param name="cycle"></param> /// <returns></returns> public OneStockKLineDataRec GetKLineData(int code, KLineCycle cycle) { return(Dc.GetHisKLineData(code, cycle)); }