(12)期货量化TB交易开拓者,【止损追踪】+【跨周期 ...

论坛 期权论坛 期权     
期权匿名问答   2022-12-12 16:05   3817   0
期货交易中,众所周知的,大周期着眼,小周期着手。量化程序方面,大周期判断方向,小周期找入场点的策略也很多。
本期跨周期数据引用了解后,就可以解决这方面的需求了。

上一期主要是聊跟踪止盈的实现,还存在一个问题。比如大周期当前K线历史数据只有开高低收四个价格,不知道期间价格运行的轨迹,所以回撤的误差比较大。这个问题也好解决,就是更新最高价、最低价时,用更小周期的K线就可以了。
这就涉及到跨周期引用数据了,有经验的交易者,通常也是大周期着眼,小周期入场,所以在量化交易策略中,跨周期引用数据,虽然不是必须的,但也是很常见的。

上期回顾:
Silly Man:(11)期货量化TB交易开拓者,【跟踪止盈】

众所周知,注释比代码多,是好事儿。
开始本期的跨周期数据引用,了解这些东西,最好的方式就是直接看代码,让后把东西都写在代码注释上,直接就理解了。详情见下图代码注释:
(替换上期的OnBar部分即可,官网可以找到源码)


(在程序应用时,怎么设置程序,放在最后说)

看完注释应该就清楚了,还是简单说一下:
可以用Range[i,j]来表用其对应语句,仅仅用于从 i 到 j 之间的数据源,可以有很多个。
data0.+变量名称、函数名称,即可引用Range[0:0]数据源上计算出来的数据。
data1.+变量名、函数名,就是引用Range[1:1]数据源上计算出来的数据。
数据源编号:0、1、2、3.......
data0和data[0]是一样的。

【数据对齐】
最新的一个K线数据,多数据源都是对齐的。

【同一份东西,应用于多个数据源时】
里面的变量、函数在多个数据源内都是独立的。

【系统函数不指定数据源】
就默认添加data0前缀

下表取自TB官网,看一下就明白了什么情况下是取哪个数据源的东西了:



【关于Range[i:j]下面的代码块】
比如Range[1:3]里面的代码块,表示的是在第二、第三、第四个数据源内,都这么干。

Range[0:1]
{
    //注意,这里面不要嵌套Range代码块了,不能嵌套
    AvgValue1 = AverageFC(Close,FastLength);
    AvgValue2 = AverageFC(Close,SlowLength);
    PlotNumeric("MA1",AvgValue1);
    PlotNumeric("MA2",AvgValue2);        
}

上面代码会在Data[0]和Data[1]上都运行,分别画出Data[0]和Data[1]的双均线。

软件上如何设置呐?
1、先导入策略单元,默认就用第一层数据源了,就是data[0]的数据。
2、如果有引用更多数据源,先选中所有策略单元,在上面点击右键,选择“数据源”→“添加商品”,选择周期勾选,选择追加即可。这个就默认用data[1]对应的数据了,以此类推可以追加很多。
如下图:


很多策略都是跨周期的,有的周期用于判断方向,有的周期用于入场切入,还有额外加个信号过滤周期的。
有些策略虽然看起来没有用大周期,其实只是用更大值的指标参数在表示大周期罢了。
也有单独使用一个周期的,表现也不一定比跨周期策略差。
还有不同周期多策略交叉运行的,相关性很低的表现又都不错的策略,是可以相互弥补缺点从而达到熨平资金曲线的目的。

工具就在这里,看咱们怎么用啦,量化交易,也是量化工具在执行人类的策略,弥补了一些人的弱点,也失去一些人类交易的优点,全看自己怎么取舍。

下期见~
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:392992
帖子:78599
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP