以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  为何连续开仓?  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=162525)

--  作者:server808
--  发布时间:2018/4/3 17:08:36
--  为何连续开仓?
以下策略在机构版后台运行为何会连续开仓到几十手,请版主帮忙检查,谢谢!

手数:=1;

M1:MA(CLOSE,2);
MI13:STKINDIEX(\'\',\'mm.m20\',0,11,0,500);   //20分钟

//*********************************
SM12:STKINDIEX(\'\',\'MD.AC\',0,12,0,500); //10秒MACD
D12:SM12>0;
k12:SM12<0;

PK:=M1>MI13 and d12=1;
PD:=M1<MI13 and k12=1;

KD:=M1>MI13 and d12=1;
kk:=M1<MI13 AND k12=1;


PK1:=PK=1 AND THOLDING<0 ;
PD1:=PD=1 AND THOLDING>0 ;
KK1:=KK=1 AND tHOLDING=0;
KD1:=KD=1 AND tHOLDING=0;


平空:tsellshort(pk1 and tholding<0,手数,MKT,0,0,\'1038508\');
平多:tsell(pd1 and tholding>0,手数,MKT,0,0,\'1038508\');
开多:tbuy(kd1 and tholding=0,手数,MKT,0,0,\'1038508\');
开空:tbuyshort(kk1 and tholding=0,手数,MKT,0,0,\'1038508\');

--  作者:server808
--  发布时间:2018/4/3 17:14:59
--  
看交易日志,是连续触发开仓条件。
--  作者:FireScript
--  发布时间:2018/4/3 17:31:52
--  
一开始的你这个应该就是双向开仓的。
开多:tbuy(kd1 and tholding=0,手数,MKT,0,0,\'1038508\');
开空:tbuyshort(kk1 and tholding=0,手数,MKT,0,0,\'1038508\');

这2句 thodling 在这里限制不了。

其次tholding  不可以这样用。 尤其是你多空都有的时候。 比如一手螺纹多 一手螺纹空 那么你当前这个函数的返回值是0 。你最好用TBUYHOLDING这种去处理。因此 上面那个即使你持有仓位 还是会一直下单。tholding 限制不了的。