等级: 机构版
- 注册:
- 2022-12-9
- 曾用名:
|
楼主 |
发表于 2022-12-29 20:31
|
显示全部楼层
持仓同步功能仓位闪烁问题,下面三个策略除了1分钟周期的日内策略,其他策略都在自身代码里加了ref(holding,1),策略组合引用的都是前一根k线的,但是在策略持仓同步里面盘中一点刷新仓位就变化。盘后就固定了。之前也是一直没有处理好。
aholding:stkindiex('','日内策略l.cc',0,1,0,5000); //引用1分钟周期上的策略a的holding值。
bholding:stkindiex('','策略mm.cc',0,4,0,3000); //引用30分钟周期上的策略b的holding值。
Cholding:stkindiex('','一箭穿心.cc',0,21,3,10000); //引用3分钟周期上的策略c的holding值。
abholding0:aholding+bholding+cholding;
abholding1:ref(abholding0,1);
平空开多:=abholding0>0 and abholding1<0;
开多条件:=abholding0>0 and abholding1=0;
加多条件:=abholding0>0 and abholding1>0 and abholding0>abholding1;
减多条件:=abholding0>0 and abholding1>0 and abholding0<abholding1;
清多条件:=abholding0=0 and abholding1>0;
平多开空:=abholding0<0 and abholding1>0;
开空条件:=abholding0<0 and abholding1=0;
加空条件:=abholding0<0 and abholding1<0 and abholding0<abholding1;
减空条件:=abholding0<0 and abholding1<0 and abholding0>abholding1;
清空条件:=abholding0=0 and abholding1<0;
//多头开平仓
if 平空开多 then begin
sellshort (平空开多,abholding1,thisclose);
buy (平空开多,abholding0,thisclose);
end
开多:buy(开多条件,abs(abholding0),thisclose);
加多:buy(加多条件,abs(abholding0-abholding1),thisclose);
减多:sell(减多条件,abs(abholding0-abholding1),thisclose);
清多:sell(清多条件,abs(abholding0-abholding1),thisclose);
//空头开平仓
if 平多开空 then begin
sell (平多开空,abholding1,thisclose);
buyshort (平多开空,abholding0,thisclose);
end
开空:buyshort(开空条件,abs(abholding0),thisclose);
加空:buyshort(加空条件,abs(abholding0-abholding1),thisclose);
减空:sellshort(减空条件,abs(abholding0-abholding1),thisclose);
清空:sellshort(清空条件,abs(abholding0-abholding1),thisclose);
////
当前持仓:holding,colorgray,linethick0;
当前资产:asset,noaxis,colorgray;
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?
x
|