今天给介绍下Set系列的关键字,先说明下不是具体给大家介绍set系列的关键字的用法,而是在使用这20个关键字的时候可能遇到的一些坑。
当我们在编辑器里面输入Set时如下图:
可以看到这么多关键字,选择具体某个关键字的话按下F1可以看到它的用法,如下图,想学习的朋友可以这样来查这些关键字的用法。
如上图这个关键字setstoplos亏损达到多大金额就平仓出场,可能很多朋友都挺喜欢用这个是止损的关键字,setpercenttrailing获利达到多大金额后回吐百分之多少就止盈出场,或者是setprofittarget盈利达到多大就平仓,这两个是止盈的关键字,这些Set系列的关键字大部分都具有开启bar内的属性,也就是买进后当根可以帮我们做止损止盈的。
既然是开启了bar内,那这些关键字可能又给我们带来了一些问题:因为如果我们的模型没有开启bar内交易的,而这些关键字又具备开启bar内的属性,这两者就不一致了,在模型没开精细数据的情况下,那么MC是不知道某一根K线它内部的走势的,而如果这个时候我们使用set系列的关键字,会让这些止损止盈因为K线先后顺序的不确定,简单优化一下就能让止损止盈都对我们有利的方向走,那会出现怎样一种情况呢?
我们简单分析下,首先某根K线我们不知道它实际是怎么形成的,对于模型其他地方没问题(没有开启bar内交易不影响),但是对于set系列的关键字(天生具备有bar内属性特性)就有很大影响了,MC能获取到某根K线的价格只有四个:开、高、低和收,默认顺序是谁离开盘价近就在前面,譬如某根K线低点离开盘价近一点那它的顺序就是开低高收反之就是开高低收,止盈止损设置的相对K线周期很小时,那么止损止盈可能就不准确了,导致整个模型得出的绩效很漂亮。
下面我们用一个具体的例子来看吧。下图是对应的模型代码:
代码很简单阳线挂收盘买入阴线挂收盘价卖出,然后就是止损止盈。手续费都是单边10元,下图是RB hot和PTA hot的绩效:
看起来都没问题,同样的模型能在PTA和RB上资金曲线都很好看成本都设置了单边1跳,我没测试多个品种,应该在其他品种上表现都差不多吧。这里主要是没开启精细数据的情况下,止损止盈设定的比较小K线周期使用比较大的情况下Set的止损止盈是不准确的。
如果我们希望止损止盈准确的话就需要开启精细数据,下面是开启精细数据其他设置没变的绩效:
开启精细数据相当于让set系列的关键字知道K线内部的走势,这才是这个模型的真实的状况。
程序化交易的实现需要好的工具辅助
欢迎使用MultiCharts专策版v14
辅助你的量化交易!
立
即
体
验
▼
欢迎前往Multicharts官网,或公众号后台回复【MC14】,下载软件免费试用1个月;
www.multicharts.cn