同一个程序怎么表达
1月合约在1月份不开仓
5月合约在5月份不开仓
10合约在10月份不开仓
也就是新合约上市的当月和该合约交割月不开仓,除了人工控制,程序里面能用语句限制吗?
如果您是加载在具体的月份合约上,可以参考以下方式限制一下:
NOT(YEAR=2018 && MONTH=1) && 开仓条件,BK;
跨行周期引用AA需要首先单独编写一个被引用指标命名如CC
在CC指标中定义AA变量,然后参考以下方式在主模型中引用
#IMPORT[MIN,15,CC] AS VAR
AA:VAR.AA;
跨周期引用您可以参考这个帖子了解一下:【编写技巧】:wh8 跨周期编写方法介绍
这个我还需要慢慢消化理解,麻烦老师帮我先把问题先解决了,我对照可能理解更快一点
1小时周期开仓后,跨周期15分钟满足条件AA平仓怎么表达?1小时周期是主模型
举个例子1小时周期CORSS(MA5,MA10),BK;然后15分钟周期里CROSS(MA5,C),SP;
这个模型怎么写呢?谢谢
被引用指标CC:
MA5:MA(C,5);
MA10:MA(C,10);
AA:CROSS(MA5,MA10);
加载模型:
MA5:MA(C,5);
MA10:MA(C,10);
#IMPORT[MIN,15,CC] AS VAR
AA:VAR.AA;
AA,BK;
CROSSDOWN(MA5,MA10),SP;
AUTOFILTER;
1小时周期开仓后,跨周期15分钟满足条件AA平仓怎么表达?1小时周期是主模型
举个例子1小时周期CORSS(MA5,MA10),BK;然后15分钟周期里CROSS(MA5,C),SP;
这个模型怎么写呢?谢谢
被引用指标CC:
MA5:MA(C,5);
加载模型: MA5:MA(C,5); MA10:MA(C,10); #IMPORT[MIN,15,CC] AS VAR AA:VAR.AA; 这句我没太理解表达的意思,麻烦解释一下。 AA,BK; 这句应该是CORSS(MA5,MA10),BK; CROSSDOWN(MA5,MA10),SP; 这句应该是CROSS(MA5,C),SP; AUTOFILTER; |
不知我理解的对吗?否则我有点晕了
7楼理解的是对的,1小时是主模型这样修改:
被引用指标CC:
MA5:MA(C,5);
MA10:MA(C,10);
AA:CROSS(MA5,C);
加载模型:
MA5:MA(C,5);
MA10:MA(C,10);
#IMPORT[MIN,15,CC] AS VAR
AA:VAR.AA; //表示引用了CC指标中的AA变量是跨周期模型的固定编写格式
CORSS(MA5,MA10),BK;
AA,SP;
AUTOFILTER;
谢谢老师,基本明白了
但是在测试中为什么已满足条件AA,但平仓价格还是按照小时周期收盘价来计算呢
因为在没有使用指令价函数时默认都是收盘价模型
主模型中可以添加指令价语句实现逐笔TICK回测参考:
MA5:MA(C,5);
MA10:MA(C,10);
#IMPORT[MIN,15,CC] AS VAR
AA:VAR.AA; //表示引用了CC指标中的AA变量是跨周期模型的固定编写格式
CORSS(MA5,MA10),BK;
AA,SP;
CHECKSIG(BK,'A',0,'C',0,0);
CHECKSIG(SP,'A',0,'C',0,0);
AUTOFILTER;