以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- [求助]求指正程序有什么问题 (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=169342) |
-- 作者:mikewhq -- 发布时间:2019/4/15 10:58:01 -- [求助]求指正程序有什么问题 P:100; //帐户总资产(W) N:=4; //总资产分散几个合约品种 S:=MULTIPLIER; //该合约乘数即每手几吨 F:=ROUND(P); //防乌龙指阀值 HD1:=HOLDING; //帐户品种现有持仓 ….. ….. …..
以上省略部分为算法部分
HS:=…; //省略的是算法计算的帐户某品种应该持有的理论整数手数
If (ABS(HD1)>ABS(HS) or ABS(HD1)<ABS(HS)) then begin
TF:=ABS(HS*10*2/10000); //调整仓位阀值(价差低于手续费不作调整)
T1:=ABS(HS)<F AND HS>=0 AND HD1<0; T2:=ABS(HS)<F AND HS<=0 AND HD1>0;
SELLSHORT(T1,ABS(HD1),MARKETR); SELL(T2,HD1,MARKETR); //清理相反方向持仓
HD2:=HOLDING; //重新检查现在帐户品种持仓 TS:=HS-HD2; //此时应该调整手数
T3:=ABS(TS)>TF AND ABS(HS)<F AND HS>=0 AND HS>HD2; T4:=ABS(TS)>TF AND ABS(HS)<F AND HS>=0 AND HS<HD2; T5:=ABS(TS)>TF AND ABS(HS)<F AND HS<=0 AND HS<HD2; T6:=ABS(TS)>TF AND ABS(HS)<F AND HS<=0 AND HS>HD2;
BUY(T3,TS,MARKETR); SELL(T4,ABS(TS),MARKETR); BUYSHORT(T5,ABS(TS),MARKETR); SELLSHORT(T6,TS,MARKETR);
End
版主好!有一个问题想请教一下:以上这段程序我实际模拟试过,大部分时间里运行是正常的,但不知为何偶尔会不正常,主要表现在有时某一品种会出现HS(理论持仓)为正(多仓),但实际持仓HOLDING为负(空仓)而程序却不调整,手工强行调整为正后,持仓同步却即时又调整回来为负,又或者反之HS为负,而HOLDING为正同样这一现象,究竟我的程序出了什么问题呢?可否帮我指正并修改过来?谢谢了! |
-- 作者:banzhuan -- 发布时间:2019/4/15 11:08:54 -- 您好,该贴中已有回复,可在该贴中追贴提问:http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=169338 |