本人经过长期实践,总结了一套“多策略多账户后台下单技术”
无需知道你的模型源码,便可让你从繁重的后台代码编写中解脱出来
助您早日实现全自动化交易
如果你有多个策略,想交易多个账户(单策略单账户自然也行)
例如你有A、B、C、D 四个模型,想交易2个账户 888888 和 999999
只要把这4个模型的虚拟持仓用stkindi这个函数引入、也把交易的账号输入到模块里,然后添加预警,启动即可
具有的功能说明:
1,不同模型的信号互相对冲。(也可以不对冲,不同个性需求,个性定制)
2,下单时,可以限价、对手价、挂价、市价等方式下单,撤单时间和追单价格也可个性选择
3,图表和后台共用同一模型,加载在图表上,可视化后台的虚拟持仓数量,轻松监控后台下单
4,具有持仓纠正功能。每间隔一定时间对比一下 虚拟持仓和账户实际持仓,一旦发现不对等立即自动纠正。
有需要的定制塔友可联系QQ 41851298
分享:各个交易策略的组合(图表化版本):
比如,有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
久违的好帖子
怎么没有加精?
阿火太厉害了。
刚看到去试试。比较怀疑假如A策略开空。B策略会开多吗?图表交易能达到吗?
A 开多 3手 B开空5手 ,那么就是开空2手啦。另外3手互相对冲
做得到。
嗯!真强啊!
火哥,怎么没有信号啊?
我改的模型如下:
cc1:stkindi(stklabel,'ZCCCXF.cc',0,17,0),LINETHICK0; //3分钟
cc2:stkindi(stklabel,'ZCPWZS.cc',0,17,0),LINETHICK0; //3分钟
cc800988:=1*cc1 + 1*cc2;
后面的和火哥的一样,cc1和cc2根本没有输出。怎么回事啊?