开始建立基于QuantDeveloper的交易平台。遇到两个问题,画出的K-线没有跳过周末(留出了空白)。另外,想在上面画一条线,但出现Exception. 不知道哪位能帮忙解决这两个问题。多谢了。代码如下: string stockName ="SPY"; Canvas mCanvas = new Canvas("IndicatorCanvas", stockName, 1200, 600); mCanvas.AddPad(0, 0, 1, 1); Instrument ins = InstrumentManager.Instruments[stockName]; DailySeries Series = DataManager.GetDailySeries(ins); Series.Draw("C"); float x1 = 10; float y1 = 10; float x2 = 20; float y2 = 20; Pen pen = new Pen(Color.Red); Pad.DrawLine(pen, x1, y1, x2, y2); 最后一行出现的Exception 如下: System.ArgumentException: Parameter is not valid. at System.Drawing.Graphics.CheckErrorStatus(Int32 status) at System.Drawing.Graphics.DrawLine(Pen pen, Int32 x1, Int32 y1, Int32 x2, Int32 y2) at SmartQuant.Charting.Pad.DrawLine(Pen Pen, Double X1, Double Y1, Double X2, Double Y2, Boolean DoTransform) at SmartQuant.Charting.Pad.DrawLine(Pen Pen, Double X1, Double Y1, Double X2, Double Y2)
FinChart 的Chart 和Pad 的概念好像和Canvas/Pad很不一样,搞了半天也没有显示出Candle Chart. Tom: 你能帮忙发一段FinChart的Example吗?多谢!多谢! 另外,划线的文题我解决了,用的是: TLine line = new TLine(date1, y1, date2, y2); line.Draw();
Gmail 打开太慢了,发在这里吧 Code: using System; using System.Drawing; using System.Windows.Forms; using System.Collections.Generic; using SmartQuant.FinChart; using SmartQuant.Data; using SmartQuant.Instruments; using SmartQuant.Series; using SmartQuant.Providers; using SmartQuant.Indicators; public class StartUp { static Form formchart = new Form(); static void Main(string[] args) { // TO DO: Add your code here Instrument currInstrument = InstrumentManager.Instruments["600714.SH"]; showChart(currInstrument); Application.Run(formchart); } static void showChart(Instrument instrument1) { formchart.Text = instrument1.Symbol; Chart chart = new Chart(); formchart.Controls.Add(chart); DailySeries dailys = instrument1.GetDailySeries(); dailys.ChartStyle = ChartStyle.Line; chart.Dock = DockStyle.Fill; chart.Reset(); chart.SetMainSeries(dailys, true ); SMA sma_fast=new SMA (dailys,5,BarData.Close); SMA sma_slow = new SMA(dailys, 20, BarData.Close); sma_fast.Color = Color.Yellow; sma_slow.Color = Color.Red; chart.DrawSeries(sma_fast, 0, System.Drawing.Color.White ); chart.DrawSeries(sma_slow, 0, System.Drawing.Color.White ); formchart.Controls.Add(chart); } }