[求助]老师帮帮忙 (文华财经WH8赢智V8.2)

投资者咨询:[求助]老师帮帮忙 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-22 16:36

 万能的老师。帮我编一个跨合约跨周期的趋势算法,我自己搞了几天搞不出来。。。谢谢了。

1. 沪铜1807和沪铝1807分别日线高于日线级别5日均线   (注:不要转换成5分钟,要跨周期调用)

2. 沪铜1807和沪铝1807分别高于5分钟周期K线图的5周期线

满足1,2条件,沪铜1807开多单

 

3. 沪铜1807和沪铝1807分别日线低于日线级别5日均线   (注:不要转换成5分钟,要跨周期调用)

4. 沪铜1807和沪铝1807分别低于5分钟周期K线图的5周期线

满足3,4条件,沪铜1807平多单

 

5.沪铜1807和沪铝1807分别日线低于日线级别10日均线   (注:不要转换成5分钟,要跨周期调用)

6. 沪铜1807和沪铝1807分别低于5分钟周期K线图的10周期线

满足5,6条件,沪铜1807开空单

 

7.沪铜1807和沪铝1807分别日线高于日线级别10日均线   (注:不要转换成5分钟,要跨周期调用)

8. 沪铜1807和沪铝1807分别高于5分钟周期K线图的10周期线

满足7,8条件,沪铜1807平空单

 

技术人员回复
日期:2018-5-22 16:41
加载至cu1807,5分钟周期使用

参考:

被引用函数,命名为AB

CC:C;
MA5:MA(C,5);
MA10:MA(C,10);

主函数:

#CALL_PLUS[ 2017,DAY ,1 ,AB ] AS VAR
CUMA5D:=VAR.MA5;
CUMA10D:=VAR.MA10;
CUCCD:=VAR.CC;
#CALL_PLUS[ 2207, DAY,1 , AB] AS VAR1
ALMA5D:=VAR1.MA5;
ALMA10D:=VAR1.MA10;
ALCCD:=VAR1.CC;
#CALL [2207, AB] AS VAR2
ALMA5:=VAR2.MA5;
ALMA10:=VAR2.MA10;
ALCC:=VAR2.CC;

MA5:MA(C,5);
MA10:MA(C,10);
CUCCD>CUMA5D&&ALCCD>ALMA5D&&ALCC>ALMA5&&C>MA5,BK;
CUCCD<CUMA5D&&ALCCD<ALMA5D&&ALCC<ALMA5&&C<MA5,SP;

CUCCD<CUMA10D&&ALCCD<ALMA10D&&ALCC<ALMA10&&C<MA10,SK;
CUCCD>CUMA10D&&ALCCD>ALMA10D&&ALCC>ALMA10&&C>MA10,BP;
AUTOFILTER;

跨周期模型的使用可以参照下面这个贴字学习一下

     
投资者咨询:[求助]老师帮帮忙 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-22 16:36

 太厉害了。。。有个问题

 

CC:C;
MA5:MA(C,5);
MA10:MA(C,10);

 

 

这里面不能用:=而是:吗?如果用了:=会出错吗?

技术人员回复
日期:2018-5-22 17:10
两种写法效果是一样的 

2楼做了一处细节修改
投资者咨询:[求助]老师帮帮忙 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-22 16:36
 如果只用#CALL [2207, AB] 跨合约,不用 #CALL_PLUS,MULTSIG(0,0,9,0);能用吗?我希望一根K线多个信号?另外是不是一定要加载全历史数据才能用?谢谢
技术人员回复
日期:2018-5-22 18:00
MULTSIG是逐笔回测,每笔TICK都计算的, 而跨合约基础数据是1分钟数据

因此想要实现一根K线出多个信号,需要加载到15分钟以上周期,使用MULTSIG_MIN函数进行逐分钟回测

另外,在补充数据的时候,需要多少数据就补充多少。但是需要注意的是,将跨合约引用合约也就是2207的数据也需要补充

投资者咨询:[求助]老师帮帮忙 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-22 16:36

 您能帮我改一下上面的模型,改成15分钟周期,然后加个MULTSIG_MIN吗?一根K线出多个信号很重要。

 

此外,请问如果我用日线,调用15分钟周期的被引用函数,能用MULTSIG_MIN吗?

技术人员回复
日期:2018-5-22 19:59
 上面模型直接加载到15分钟周期就可以了

在模型最后加入MULTSIG_MIN(0,0,2);//红色位置自行修改