各个交易策略的组合(图表化版本):
比如,有3个模型A、B、C,均为K线走完模式,且为逐K线模式,想组合在一起。要如何实现呢?
方法如下:
第一步,在各个模型的最开头加入记录持仓的变量cc,如以下红色部分:
runmode:0;
cc:=holding;
ma5:=ma(c,5);
ma10:=ma(c,10);
if holding>0 and ma5<ma10 then sell(1,1,thisclose);
if holding<0 and ma5>ma10 then sellshort(1,1,thisclose);
if holding=0 and ma5>ma10 then buy(1,1,thisclose);
if holding=0 and ma5<ma10 then buyshort(1,1,thisclose);
第二步,新建一个模型,把A、B、C 三个模型的变量“ CC ”引用过来,并加入蓝色部分的指令代码即可,如下:
cc1:=stkindi(stklabel,'模型A.cc',0,11,0); //2分钟,多分钟设置为2
cc2:=stkindi(stklabel,'模型B.cc',0,2,0); //5分钟
cc3:=stkindi(stklabel,'模型C.cc',0,18,0); //10分钟
cc800988:=3*cc1 + 1*cc2 + 2*cc3;//各个模型的仓位系数。这里表示 A模型下3手,B模型下1手,C模型下2手
order:=cc800988-holding;
if order>0 then begin
pc:=min(abs(min(holding,0)),order);
kc:=order-pc;
sellshort(pc>0,pc,limitr,o);
buy(kc>0,kc,limitr,o);
end
if order<0 then begin
pc:=min(max(holding,0),abs(order));
kc:=abs(order)-pc;
sell(pc>0,pc,limitr,o);
buyshort(kc>0,kc,limitr,o);
end