以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=174577) |
-- 作者:xxinstar100 -- 发布时间:2020/2/25 21:29:38 -- 关于指数交易限制问题 后台程序化交易,利用中证500指数计算条件,去买卖IC00合约。会不会有T+1的限定? 比如中证500只能一买一卖,而IC00是T+0,交易次数没有限制。 我发现今天按照模型今天会成交几次的,一开始有成交,后面就没有提示信号了 比如: 开多:= TBUY(KD,CW,MKT,0,0,\'\',\'IC00\'),ALLOWREPEAT; //开多信号 平多:= TSELL(PD,CW,MKT,0,0,\'\',\'IC00\'),ALLOWREPEAT; //平多信号 |
-- 作者:wenarm -- 发布时间:2020/2/26 8:34:49 -- 没有你说的限制。建议你用debugfile跟踪自己的条件。不要拿图表信号和后台信号对比。没有意义。
|
-- 作者:FireScript -- 发布时间:2020/2/26 8:44:25 -- 不会的。不会因为监控的是T+1就影响到实际下单品种的交易。建议你把KD,PD这些条件都进行一些调试输出。比如用debugout或者debugfile |
-- 作者:xxinstar100 -- 发布时间:2020/2/26 15:11:12 -- 中证500指数交易问题 今天再次出现同样的情况,前面2次(一卖一买)出现信号,成功成交,后面再次出现时的就没有信号。通过DEBUGOUT观察计算没有问题,就是没有触发信号。 代码情况: 平多:= TSELL(PD,1,MKT,0,0,\'\',\'IC00\'),ALLOWREPEAT; //平多信号 DEBUGOUT(\'当前平多条件%.0f\',PD); DEBUGOUT(\'当前平多开仓%.0f\',平多); DEBUGOUT输出情况:PD一直提示是1,平多一直是0; 20.02.26 14:45:59 SH905 当前平多条件1 20.02.26 14:45:59 SH905 当前平多开仓0 20.02.26 14:45:59 SH905 运行结束 |
-- 作者:FireScript -- 发布时间:2020/2/26 15:20:38 -- KD 的值是什么情况?你只输出了平仓条件,开仓条件呢。你应该也看下开仓条件是否满足了吧。 [此贴子已经被作者于2020/2/26 15:21:12编辑过]
|
-- 作者:xxinstar100 -- 发布时间:2020/2/26 15:29:49 -- 指数交易问题 此时手上已经有持仓了 KD:= TSELLHOLDINGEX(\'\',\'IC00\',2)>=0 AND TBUYHOLDINGEX(\'\',\'IC00\',2)=0 AND (KD1 OR KD2); //开多信号 PD:= TSELLHOLDINGEX(\'\',\'IC00\',2)=0 AND TBUYHOLDINGEX(\'\',\'IC00\',2)>0 AND PD1; //平多信号 开多:= TBUY(KD,CW,MKT,0,0,\'\',\'IC00\'),ALLOWREPEAT; //开多信号 平多:= TSELL(PD,CW,MKT,0,0,\'\',\'IC00\'),ALLOWREPEAT; //平多信号 CWSS:=TBUYHOLDINGEX(\'\',\'IC00\',2); //持仓手数 KCSS:=TSELLHOLDINGEX(\'\',\'IC00\',2); //持空仓手数 DEBUGOUT(\'当前买持状况%.0f\',CWSS); DEBUGOUT(\'当前卖持状况%.0f\',KCSS); DEBUGOUT的结果 买持一直为1,卖持一直为0 |
-- 作者:FireScript -- 发布时间:2020/2/26 16:12:30 -- 1.TBUYHOLDINGEX(\'\',\'IC00\',2); 参数2的时候是包含未成交平仓单的。建议输出下当时实际的可用持仓。 2.开仓条件里面的 KD1 OR KD2 这2个变量 最好也输出以下。 目前你提供的信息暂时还无法进一步判断,只能提供上面的2个建议。或者你提供完整代码和程序化的设置。我们本地运行测试。
[此贴子已经被作者于2020/2/26 16:12:37编辑过]
|
-- 作者:wenarm -- 发布时间:2020/2/26 16:16:21 -- TSELLHOLDINGEX 是空头持仓。返回是0,说明你本地没有空头仓位。和你前面的代码没什么关系。
另外你4楼中,是想知道为什么没有下单操作。你输出的应该是开平条件,或者开平条件组成的因子项。而不是只输出持仓数量。 |
-- 作者:xxinstar100 -- 发布时间:2020/2/26 17:37:58 -- JIZHUN为根据中证500计算出的当天基准买入值 ZHISUN为根据中证500计算出的当天止损卖出值 MODELBUY 为是否符合尾盘买入条件 后面成交部分完整的代码如下,帮看下问题出在哪: MINDIFFIC0:=0.2; KD1:= CURRENTTIME<145700 AND C>=(JIZHUN-MINDIFFIC0); //开多条件1 KD2:= CURRENTTIME>=145945 AND MODELBUY; //开多条件2 PD1: = CURRENTTIME<145700 AND C<=(ZHISUN+MINDIFFIC0); //平多条件 PK:= TSELLHOLDINGEX(\'\',\'IC00\',2)>0 AND TBUYHOLDINGEX(\'\',\'IC00\',2)=0 AND (KD1 OR KD2); //平空信号 KD:= TSELLHOLDINGEX(\'\',\'IC00\',2)>=0 AND TBUYHOLDINGEX(\'\',\'IC00\',2)=0 AND (KD1 OR KD2); //开多信号 PD:= TSELLHOLDINGEX(\'\',\'IC00\',2)=0 AND TBUYHOLDINGEX(\'\',\'IC00\',2)>0 AND PD1; //平多信号 KK:= TSELLHOLDINGEX(\'\',\'IC00\',2)=0 AND TBUYHOLDINGEX(\'\',\'IC00\',2)>=0 AND PD1; //开空信号 平空:=TSELLSHORT(PK,CW,MKT,0,0,\'\',\'IC00\'),ALLOWREPEAT; //平空信号 开多:= TBUY(KD,CW,MKT,0,0,\'\',\'IC00\'),ALLOWREPEAT; //开多信号 平多:= TSELL(PD,CW,MKT,0,0,\'\',\'IC00\'),ALLOWREPEAT; //平多信号 开空:= TBUYSHORT(KK,CW,MKT,0,0,\'\',\'IC00\'),ALLOWREPEAT; //开空信号 CWSS:=TBUYHOLDINGEX(\'\',\'IC00\',2); //持仓手数 KCSS:=TSELLHOLDINGEX(\'\',\'IC00\',2); //持空仓手数 DEBUGOUT(\'当前基准值为%.1f\',JIZHUN); DEBUGOUT(\'当前止损值为%.1f\',ZHISUN); DEBUGOUT(\'昨日基准值为%.1f\',JIZHUN1); DEBUGOUT(\'当前买持状况%.0f\',CWSS); DEBUGOUT(\'当前卖持状况%.0f\',KCSS); DEBUGOUT(\'当前平多条件%.0f\',PD); DEBUGOUT(\'当前平多开仓%.0f\',平多); |
-- 作者:xxinstar100 -- 发布时间:2020/2/26 17:42:09 -- 指数交易问题 CW 为买入的仓位,已设定为1. 为日线操作,JIZHUN、ZHISUN 是根据昨日的数据计算出来的,日内不会变
[此贴子已经被作者于2020/2/26 17:43:27编辑过]
|