- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TB的跨周期调用
TB的跨周期调用以前已经有一些解决方案。但总体来说使用还不够方便。以前的帖
子中Nopain曾提出过一个算法非常精巧。最近在这个算法的基础上 把整个实现方法
完善了一下。下面把总体思路和函数代码贴出来请大家试用也欢迎大家提出修改意
见。 总体思路 1、还是小周期调用大周期的数据这样才能保证盘中和盘后结果一样。
大周期调用小周期我个人觉得很难实现也没有必要 2、具体方法是新编一个函数用
来根据小周期下的数据推算出大周期的BAR数据为了省事计算时会将大周期下的
开高低收以及成交量和持仓量等数据都算出来然后将这些数据通过引用参数返回。
当然有的朋友可能只需要一个收盘价就可以了那样的话可以自行修改这个函数把多
余的数据去掉 3、返回的大周期数据将以序列变量的形式保留在对应的小周期K线
上以便以后调用 4、另外为了便于大周期的数据计算出来后的回溯使用函数会将小
周期下当前BAR到大周期下的前一个BAR的最后一个小周期BAR需要回溯的BAR
数目作为函数的结果返回。这句话不容易描述清楚估计大家听起来也费力但没关系
后面用例子来解释知道这回事就行了。 5、另外还增加了一个返回值也是通过引用
参数返回表示的是当前小周期K线对应的大周期K线在整个大周期中的索引值。举例
来说5分钟图样本数300那转换成30分钟周期图总共应该是50根K线那最新一根5分
钟图对应的30分钟K线在整个30分钟图中的索引值就应该是49类似CurrentBar 0-49
好其他先不废话把代码贴出来再举几个例子。 新建用户函数MtBar 返回值为数值
类型代码如下 1. Params 2. Numeric TimeFrame1440 // 目标时间周期月线40320周线
10080日线14404小时线240 其他周期等于相应的分钟数如1小时60 30分钟30。。。 3.
Numeric BarsBack1 // 目标时间周期BAR偏移1--表示将目标时间周期下的前1根K线
数据作为与当前Bar对应的目标时间周期下的K线数据 4. // 0--表示将目标时间周期
下的截止到目前为止的数据转换为与当前BAR对应的目标时间周期下K线数据 5.
NumericRef oCurBar // 目标时间周期下的Bar索引 6. NumericRef oOPenHT // 目标
时间周期下的开盘价 7. NumericRef oHighHT // 目标时间周期下的最高价 8.
NumericRef oLowHT // 目标时间周期下的最低价 9. NumericRef oCloseHT // 目标
时间周期下的收盘价 10. NumericRef oVolHT // 目标时间周期下的成交量 11.
NumericRef oOpenIntHT // 目标时间周期下的持仓量 12. 13. Vars 14. NumericSeries
barCnt 15. NumericSeries CurBar 16. NumericSeries barCntSum 17. NumericSeries OpenHT 18. NumericSeries HighHT 19. NumericSeries LowHT 20. NumericSeries CloseHT 21. NumericSeries VolHT 22. NumericSeries OpenIntHT 23. Numeric CurTime 24. Numeric PreTime 25. bool conditionfalse 26. Numeric i 27. Begin 28. If TimeFrame 40320 // 月线 29. 30. CurTime Month 31. PreTime Month1 32. 33. Else If TimeFrame 10080 34. 35. CurTime IntPartDateDifate/7 36. PreTime IntPartDateDifate1/7 37. 38. Else 39. 40. CurTime IntPartDateDifate1440 Hour60 Minute/TimeFrame 41. PreTime IntPartDateDifate11440 Hour160 Minute1/TimeFrame 42. 43. condition CurTime PreTime 44. 45. If CurrentBar0 // 如果是第一根Bar CurBar0 46.
47. barCnt 0 48. CurBar 0 49. OpenHT Open 50. Hig
文档评论(0)