|
本帖最后由 火焰之神 于 2015-4-8 22:35 编辑
大家好,我是革命家,程序化交易的初学者,第一次在这里发表文章,请大家多多指教。 高手软件使用Stage语言来编写策略,那么从今天开始,我会把简单而实用的小例子提供给
大家一起分享,并且可以熟悉简单易懂的Stage语言。如果大家之前用过其他的程序化交易软件来编写过策略,
那么当你使用高手软件后会发现它的与众不同。
今天要学习的是画线,当然,Stage语言可以让你轻松的画出你想画的线。
例子:
1.画出从倒数第11根线的最高价到最后一根线的最低价的线,线带有宽度,颜色为黄色,并且打印出线起始点的日期,时间,和最高价。
2.再画一根倒数第12根线的最低价到最后一根线的最低价的线,线形状为点(...)
代码:
If LastBarOnChart Then
线1 = new Line(Date[10],Time[10],High[10],Date,Time,Low)
线1.Color = Yellow
线1.Size = 2
开始日期 = 线1.GetBeginDate()
开始时间 = 线1.GetBeginTime()
开始价格 = 线1.GetBeginVal()
线2 = new Line(Date[11],Time[11],Low[11],Date,Time,Low)
线2.Style = 2
线2.Color = Green
Print("线1的开始日期:",cDate(开始日期)," 线1的开始时间:",cTime(开始时间)," 线1的开始点最高价:",开始价格)
End If
分析:
例题1
1.If LastBarOnChart Then 。。。 End If
如果最后一根线在图表上的话,做某些事情
2.线1 = new Line(Date[10],Time[10],High[10],Date,Time,Low)
几何原理,线是由2个点连接组成。那么我们就要选择这两个点。Stage语言和C,Java等主流语言一样,继承了面向对象编程,画线可用new Line(Date,Time,Open,Date,Time,Close)。前3个参数Date[10],Time[10],High[10]为线的起始点的日期,时间,最高价。Date为当前的K线,Date[1]为当前K线的前一根K线,Date[10]就是当前K线的前十根K线。因为当前图表为日K线,所以Time[x]不起效,如果是分K线,他就起作用了。相同,High[10]为当前K线前十根K线的最高价。那这样就选定了开始的点。后三个参数Date,Time,Low为结束点。分别表示当前K线的日期,时间和最低价。这样线就画出来了。
3.线1.Color = Yellow
编码风格继承面向对象编程,给线1变量给予黄颜色。
4.线1.Size = 2
线1的默认宽度为1,给予2让它更明显一些。
5.开始日期 = 线1.GetBeginDate()
开始时间 = 线1.GetBeginTime()
开始价格 = 线1.GetBeginVal()
利用GetBeginDate(),GetBeginTime(),GetBeginVal()方法来得出线起始点的日期时间和价格。当然也可以用GetEndDate(),GetEndTime(),GetEndVal()方法来得出线结束点的日期时间和价格。
6.Print("线1的开始日期:",cDate(开始日期)," 线1的开始时间:",cTime(开始时间)," 线1的开始点最高价:",开始价格)
Print方法里的参数可写很多。"线1的开始日期:" 会输出字符串,cDate(开始日期) 会输出格式化的开始日期,cTime(开始时间) 会输出格式化的开始时间, 开始价格 会输出线1起始点。
例题2
1.线2.Style = 2
在例题1的基础上改变了它的风格。线形状为点(...)
下面为高手软件编辑器的代码和系统图表的截图。请大家参考。
优点:
1.变量不需必须定义(可以定义),可直接使用,大大节省了代码量。
2.变量可以用汉字定义,使新手用户更容易理解。
3.Stage语言和C,Java等主流语言一样,继承了面向对象编程。线1.Color, TS等其他程序化软件就做不到。
今天的内容讲完啦! 希望大家喜欢,多多回帖是我的动力,快来抢沙发
|
|