我有十个买点。十个卖点。如果我要把这个组合成模型,要怎么写?
买条件1:=
买条件2:=..........买条件3,买条件4,买条件5,买条件6,买条件7,买条件8,买条件9,买条件10.
卖条件1:=
卖条件2:=..........卖条件3,卖条件4,卖条件5,卖条件6,卖条件7,卖条件8,卖条件9,卖条件10.
当行情遇到任何一个买条件,就执行这个买条件,并且执行这个条件的止损条件,或反手条件。
直到另一个方向的条件成立执行反向操作,
如果中间有同向的信号成立,执行最后一个同向信号的条件。
请问应该如何编写模型?麻烦你最好用中文说明一下
很简单 并联
单条件 达成多条件为1 不成为0
多条件 取最大值 为1就达成了
听不懂
但他对不同条件开仓的订单平仓条件也不同,不能混合的。
建议你学习阿火的多策略集成,图表中很简单:
分享:各个交易策略的组合(图表化版本):
比如,有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
注意事项:
1、第二步新建的模型(总交易系统)放到图表上,比如命名为“多策略整合”,其他程序不用放到图表上,金字塔中存在即可
2、图表程序化中选择“间隔”,几秒随便你填,我是设3秒,不要选择走完K线,因为
cc:=holding;这句代码放在最前面,已经表示下一K线开仓,如果再选择走完K线,就变成走完两根K线才开仓了
3、图表周期必须选你所有交易策略中,至少是最小周期的模型,最好是1分钟周期,这样你可以在1分钟图中交易你的1分钟模型、5分钟模型。。。。日线模型,这样可以使你的信号出来后很快交易(但是不知道分笔图然后选走完K线行不行,不过我知道分笔选间隔N秒是不行的,因为N秒后,K线早成为过去,交易系统检查不到信号了,漏单严重)
4、cc:=holding;不要放到最后,否则仓位可能很混乱