查看: 1480|回复: 4
打印 上一主题 下一主题

[其它] 程序化每日一帖——2012-06-27(序列变量)

[复制链接]
跳转到指定楼层
1
发表于 2012-6-27 10:59:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 RonnieZ 于 2012-6-27 11:18 编辑

序列变量      序列变量是程序化交易编程语言与一般编程语言(如:C++)的一个显著差别,他是为了简化金融统计运算(如:计算移动平均)而设计实现的。
      序列变量(如:NumericSeries)拥有数据回溯的功能,它可以用中括号的方式访问以前K线的数据,如:High表示本周期的最高价,High[1]就表示上一根K线的最高价。
为了让序列变量拥有回溯功能,我们在后台做了这样的工作:
1.用户代码运行之前,将序列变量从一个存储空间里取出来。并让序列变量的初始值等于上一周期的值。
2.用户代码运行结束后,将序列变量保存到存储空间。
3.下次运行时,如果发现是一根新生成的K线,则将序列变量的长度自动增加1。新增加的元素值等于上一周期的值。
由此可见,序列变量是一个长度自动变化的数组,他的长度始终和图表中K线的数量是一致的。截图是使用序列变量求指数平均的源代码。


采用序列变量编写的公式、函数,代码非常简洁直观,而且运行效率很高。但快速易用的同时还必须遵循一些使用规则,特别是在函数中定义的序列变量更要遵循这些规则,否则有可能造成多个序列变量在存取时发生混乱,具体规则如下:
尽可能保证每一周期的序列函数都得到执行。 尽量不要在If,Else等语句中使用序列函数。 可以在循环语句中使用序列函数,但必须保证每个周期中序列函数的调用次数是相同的 。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册入住  

x





2
发表于 2012-6-27 11:06:14 | 只看该作者
排版有些乱啊
3
 楼主| 发表于 2012-6-27 11:16:25 | 只看该作者
初级炒单 发表于 2012-6-27 11:06
排版有些乱啊

不好意思,我也发现了,已更新
4
发表于 2013-5-15 11:08:30 | 只看该作者
楼主继续啊~~~写得挺好的!
5
发表于 2013-6-16 13:26:50 | 只看该作者
实际上就是数列。
您需要登录后才可以回帖 登录 | 注册入住  

本版积分规则

易家网  ©2015-2023  郑州期米信息技术有限公司版权所有  豫公网安备 41010502005136号 豫ICP备16010300号