C#下如何用NPlot绘制期货股票K线图?

[简介]

作为一名专业程序化交易者,编程是一个程序员的基本功,本文是作者在做的一个期货CTP项目中有关K线绘图的一部分,偿试类MT4中图表 设计而写,在编写绘图时,查阅了相关资料,感觉还是用NPlot的这个图表控件比较好,特点是:免费,可以用于winform程序,而且速度比较快,可以实时动态显示图表数据,下面就进入主题.

[内容]

一,NPlot控件相关知识简介:

图表控件一直是很难找的,特别是免费又强大的。NPlot是一款非常难得的.Net平台下的图表控件,能做各种曲线图,柱状图,饼图,散点图,股票图等,而且它免费又开源,使用起来也非常符合程序员的习惯。唯一的缺点就是文档特别难找,难读。通过对其文档的阅读和对示例程序源代码的分析,现在将NPlot的基本概念整理如下:

NPlot的命名空间包括NPlot,NPlot.Bitmap,NPlot.Web,NPlot.Web.Design,NPlot.Windows等,其中最核心的,管理各种图表的类都属于NPlot命名空间,NPlot.Bitmap针对位图的管理,NPlot.Web,NPlot.Web.Design和NPlot.Windows则可视为NPlot图表在Web Form和Windows Form上的容器(PlotSurface2D)。这些容器可以拖到Form上,也可以位于其他容器之中。

要在应用程序中应用NPlot控件,首先要把所下载的NPlot.dll添加到.Net工程中。并将其添加到工具箱托盘中。添加方式为:在工具箱上单击右键,选择“选择项”,会出现“选择工具箱项”对话框,在“.Net Frameworks组件”属性页,选择浏览,找到NPlot.dll添加到工具箱项。这时工具箱中会出现NPlot控件。在设计应用程序界面时,可以将其拖入应用程序界面,系统会在代码中自动创建一个PlotSurface2D对象。

PlotSurface2D对象是NPlot图表的容器,所有的图表图形,坐标,标题(都继承IDrawable接口)等各种信息都可以被加入PlotSurface2D。PlotSurface2D拥有一个非常重要的方法:Add。各种图表图形,坐标,标题都可以通过Add加入PlotSurface2D对象。

 1         /////////各种绘图//////////
 2         private void plot()
 3         {
 4             this.myPlot.Clear();
 7             ////////网格//////////
 8             Grid mygrid = new Grid();
 9             mygrid.HorizontalGridType = Grid.GridType.Fine;
10             mygrid.VerticalGridType = Grid.GridType.Fine;
11             this.myPlot.Add(mygrid);
1213             ///////水平线//////////
14             HorizontalLine line = new HorizontalLine(10);
15             line.LengthScale = 2.89f;
16             //line.OrdinateValue = 2;
17             this.myPlot.Add(line, 10);
18             ///////垂直线///////////
19             VerticalLine line2 = new VerticalLine(10);
20             line2.LengthScale = 0.89f;
21             this.myPlot.Add(line2);
22
23
24             ///////蜡烛图///////////
25             int[] opens = { 1, 2, 1, 2, 1, 3 };
26             double[] closes = { 2, 2, 2, 1, 2, 1 };
27             float[] lows = { 1, 1, 1, 1, 1, 1 };
28             System.Int64[] highs = { 3, 2, 3, 3, 3, 4 };
29             int[] times = { 0, 1, 2, 3, 4, 5 };
30             CandlePlot cp = new CandlePlot();
31             cp.CloseData = closes;
32             cp.OpenData = opens;
33             cp.LowData = lows;
34             cp.HighData = highs;
35             cp.AbscissaData = times;
36             this.myPlot.Add(cp);
37
            this.myPlot.Refresh();
62         }
时间: 2024-10-02 22:16:09

C#下如何用NPlot绘制期货股票K线图?的相关文章

C#下如何用NPlot绘制期货股票K线图(2):读取数据文件让K线图自动更新

[内容介绍]上一篇介绍了K线图的基本绘制方法,但很不完善,本篇增加了它直接读取数据的功能,这对于金融市场的数据量大且又需要动态刷新功能的实现很重要. [实现方法] 1.需要一个数据文件,这里用的是直接读取由另一个CTP程序从上期交易所接收的期货合约RB1609所写的行情文件日线数据rb1609_d1.txt 文件格式如下: 日期 时间 开盘 最高 最低 收盘 成交量 持仓量 20160810 0.100000 2555.00 2606.00 2540.00 2563.00 3114 6858 2

C#下如何用NPlot绘制期货股票K线图(3):设计要显示的股票价格图表窗口并定义相应类的成员及函数

[内容简介] 上一篇介绍了要显示K线图所需要的数据结构,及要动态显示K线图,需要动态读取数据文件必需的几个功能函数.本篇介绍要显示蜡烛图所用到的窗口界面设计及对应类定义.下面分述如下: [窗口界面] 见下图 上图中对应各周期功能按钮和标签进行相应拖放操作就是了, 不再多述 .倒是图表区为一个Nplot控件,命名:myPlot. [窗口类定义] 界面部分自动生成的代码文件: ///<ctp1.Designer.cs> ///K线图窗口界面代码此代码由VS自动生成. //-------------

利用JFreeChart绘制股票K线图完整解决方案

http://blog.sina.com.cn/s/blog_4ad042e50100q7d9.html 利用JFreeChart绘制股票K线图完整解决方案 (2011-04-30 13:27:17) 标签: 绘制 股票 k线 it 分类: 软件_Software 因为工作的需要,接触了一些股票图形绘制类的工作,其中最主要的还是股票K线图的绘制了,如果利用编程语言最底层的图形绘制方法去绘制这类图形,如果对编程语言不是特别熟悉的话,一般是有很大的困难的,通过在网上搜索发现,以自己最熟悉的两门语言为

Canvas绘制股票K线图

最近想在小程序做股票K线图,于是尝试用Canvas实现股票K线图.K线图用到Canvas的API其实只有划线和画矩形,即moveTo(),lineTo(),fillRect()等函数. 第一步,我们先定义K线类: function Bar(open,high,low,close,width){ this.open = open; this.high = high; this.low = low; this.close = close; this.width = width | 5; } 输入参数

WPF中使用amCharts绘制股票K线图

原文:WPF中使用amCharts绘制股票K线图 本想自己用GDI绘图, 通过数据直接绘制一张蜡柱图, 但觉得这样子的功能比较少, 所以到网上搜索一些能画出K线图的控件. 发现DynamicDataDisplay挺好的, 在它的开发截图里也发现可以绘制蜡柱图, 但文档好像做的不是很好, 不知道怎么用它来画, 在寻找它比较好的例子的时候发现有人推荐用amCharts绘制, 所以便去看了一下, 发现挺好用的, 效果如下: 准备工作 先要去这里下载amCharts Stock Chart for WP

PHP使用HighChart生成股票K线图详解

本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群:   281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29LoD19)    QQ:1542385235 HighChart是集合了各种常见的web图表的开源合集,其中产生股票K线图的部分叫做“HighStock”.大家如果需要可以到我的资源页下载,是最新版: http://download.csdn.net/detail/wangyuchun_799/9353525

股票K线图-JfreeChart版

http://blog.csdn.net/ami121/article/details/3953272 股票K线图-JfreeChart版 标签: jfreechartpropertiesappletdatetabledataset 2009-03-03 16:00 9378人阅读 评论(8) 收藏 举报 分类: jfreechart(7) 股票的K线图是所有Chart图中最复杂的一种,把一个K线图拆分开来我们可以发现,K线图的上半截实际上是由阴阳线(阴阳线可以表示开盘价,收盘价,最高价,最低价

Highstock生成股票K线图

在线演示 本地下载 使用HightStock生成股票K线图例子.

FM源码、OFO共享单车源码、股票K线分时线源码等

iOS精选源码 一个多环条形联动的动画 仿今日头条的菜单栏,可编辑菜单栏条目 一款优秀的 聆听夜空FM 源码 仿汽车报价大全PK界面 高度自定义的视频播放器 高仿OFO共享单车(SWIFT版) 一款实现股票k线图.分时图的demo 基本满足股票的需求 原创情侣应用-小冤家 React Native编写的简易购物车Demo 扩大循环菜单按钮ASExtendedCircularMenu iOS优质博客 iOS开发者的Weex伪最佳实践指北 引子这篇文章是笔者近期关于Weex在iOS端的一些研究和实践