以文本方式查看主题

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

--  作者:ying_223223
--  发布时间:2016/6/28 15:25:05
--  提前开平仓
如果想实现在每天最后一根k线提前4分钟执行开平仓,其余k线提前5秒执行开平仓代码是不是可以这样写:
abb:=((time0-timetot0(dynainfo(207))<=5) and not(islastbar)) or (islastbar and (time0-timetot0(dynainfo(207))<=240));
if abb then begin
平多:SELL(平1 and  可平>0,可平,Market);
开多:BUY(开1 AND 开 AND HOLDING<=0,手数,Market);
end
然后采用固定时间执行,每4秒执行1次

上面这样写是否有问题

--  作者:jinzhe
--  发布时间:2016/6/28 15:30:02
--  
abb1:=((time0-timetot0(dynainfo(207))<=5) or not(islastbar)) and time<>closetime(0);
abb2:=((time0-timetot0(dynainfo(207))<=240) or not(islastbar)) and time=closetime(0);
时间条件是
(abb1 or abb2)

--  作者:ying_223223
--  发布时间:2016/6/29 11:25:51
--  
我加上了上述条件,发现实际不下单了。当前k线上也不出现卖出箭头了,下一根k线出现后,上一根k线出现了卖出箭头(也可能是下一根k线出现前几秒出现的箭头没注意)。问题是实际没有下单,看log中也没有要求下单的指令。代码如下:
abb1:=((time0-timetot0(dynainfo(207))<=tq) or not(islastbar)) and time<>closetime(0);
abb2:=((time0-timetot0(dynainfo(207))<=tq0) or not(islastbar)) and time=closetime(0);
if (abb1 or abb2) then begin
平多:SELL(平 and  可平>0,可平,Market);
开多:BUY(开 AND HOLDING<=0,手数,Market);

end

请问会是什么原因

--  作者:ying_223223
--  发布时间:2016/6/29 11:29:34
--  
tq=10,tq0=200
固定间隔执行策略,间隔时间是9秒
我看了log在10:59:53执行了策略,但没有给下单指令
2016-06-29 10:59:53.886    【图表】150172 运行完毕

--  作者:jinzhe
--  发布时间:2016/6/29 11:30:37
--  
用的是走完k线下单还是固定时间间隔
--  作者:ying_223223
--  发布时间:2016/6/29 11:36:05
--  
固定时间间隔,间隔时间是9秒。我刚才给的log表示他也执行了,就是没下单
--  作者:jinzhe
--  发布时间:2016/6/29 13:32:36
--  

你是不是交易的有夜盘的品种?


--  作者:ying_223223
--  发布时间:2016/6/29 14:07:08
--  
没有,目前操作的都是股票。刚才发现不是所有的都下不了单,好像是漏单,11点那个没有下,下午的都执行了。
会不会是时间间隔设置的太长了,目前是9秒。

--  作者:ying_223223
--  发布时间:2016/6/29 14:07:29
--  
如果有夜盘会有什么问题
--  作者:jinzhe
--  发布时间:2016/6/29 14:29:38
--  
用在日线还是分钟周期?