欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件交易策略发布专区 → 【zzc_PEL】追撤单

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有5556人关注过本帖平板打印复制链接

主题:【zzc_PEL】追撤单

帅哥哟,离线,有人找我吗?
yukizzc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
【zzc_PEL】追撤单  发帖心情 Post By:2019/7/4 15:04:56 [只看该作者]

追撤单的代码必须在后台实现,我们平时写的时候经常会出错,出错代码可以看我3楼的代码,那个应该大部人都是那样写的。但其实是不对的
我这里1楼给出一种写法,2楼给出对应的日志。三楼和四楼是错误代码,以及对应的下单日志,这样大家也可以看出为何那种写法会有问题吧





开仓条件:tbuyholding(1)=0;
平仓条件:tbuyholding(1)>0;
//正常开平程序
if 开仓条件 then
begin 
tbuy(1,1,lmt,close-5*MINDIFF);
end

if 平仓条件 then 
BEGIN
tsell(1,1,lmt,close+5*MINDIFF);
end 


//开仓的简单,撤单后直接再开就可以了
if TISPRVREMAIN(1)=1 and currenttime-TORDERTIME( 1,1 )>20 then 
BEGIN
TCANCEL(1,1);
tbuy(1,1,mkt);
end 


//平仓时候,因为你撤单动作发出去,单子并不是立即解冻的,需要用一个全局变量去记录
//然后根据变量=1,表示执行过撤单了等下次轮训时候配合持仓大于0进行撤单
if TISPRVREMAIN(2)=1 and  currenttime-TORDERTIME( 2,1 )>20 then 
BEGIN
TCANCEL(1,2);
EXTGBDATASET(STKLABEL,1);
end 

if EXTGBDATA(STKLABEL)=1 and tbuyholding(1)>0 then 
begin 
tsell(1,1,mkt);
EXTGBDATASET(STKLABEL,0);
end



[此贴子已经被作者于2019/7/4 15:19:59编辑过]

 回到顶部