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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 重新发帖:挂上止盈止损单为何不断发委托单?

   

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


  共有4979人关注过本帖树形打印复制链接

主题:重新发帖:挂上止盈止损单为何不断发委托单?

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


加好友 发短信
等级:论坛游侠 帖子:147 积分:745 威望:0 精华:0 注册:2010/3/13 17:01:25
重新发帖:挂上止盈止损单为何不断发委托单?  发帖心情 Post By:2012/11/26 23:38:23 [显示全部帖子]

ib外汇 后台一段测试代码

 

GLOBALVARIABLE:duotou=0;
IF duotou=0  THEN BEGIN
 tsellshort(tholding2<0,0,mkt);
 tbuy(tholding2=0,100000,mkt);
 SLEEP(3000);
 chicang:=if(tholding2>0,tholding2,0);
 jinchangjia:=tenterprice;
 tsell(duotou=0 and tholding2>0,chicang,stp,jinchangjia-0.0003);
 SLEEP(1000);
 tbuyshort(duotou=0 ,chicang,lmt,jinchangjia+0.0003);
 duotou:=1;
END
IF THOLDING2<=0 THEN BEGIN
TCANCEL( 1, 0);
DUOTOU:=0;
END

 

问题是绿色背景语句不断执行,每个一分钟k线运行收到数据又会发送一笔限价委托,无视全局变量的条件。

另外多头持仓下,tholding可用持仓居然会变成负数,每发送一笔限价委托可用持仓累计负增长(图中kdj后面的keyong)。如何才能实现我的想法,请老师们指点。


图片点击可在新窗口打开查看此主题相关图片如下:eur.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
飞翔鸟
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:147 积分:745 威望:0 精华:0 注册:2010/3/13 17:01:25
  发帖心情 Post By:2012/11/27 9:15:07 [显示全部帖子]

后台某条件符合后买入做多,同时挂上一个止损单、一个止盈单,待成交其中的一个后则撤销另一个而已。

不设置不成交撤单追价的功能。


 回到顶部
帅哥哟,离线,有人找我吗?
飞翔鸟
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:147 积分:745 威望:0 精华:0 注册:2010/3/13 17:01:25
  发帖心情 Post By:2012/11/27 9:46:15 [显示全部帖子]

没看明白你的意思。

我是说等止损止盈成交了一个后再把另一个没成交的撤掉。

不知我一楼的代码写的有没有错误,按逻辑应该能看懂,但我实践起来就发现挂止盈单的会不断委托去挂。一个多头仓位只需要挂一个止损及一个止盈啊。ib的挂单都挂到服务器上去的。


 回到顶部
帅哥哟,离线,有人找我吗?
飞翔鸟
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:147 积分:745 威望:0 精华:0 注册:2010/3/13 17:01:25
  发帖心情 Post By:2012/11/27 10:05:26 [显示全部帖子]

金字塔还能判断未成交状态里的是几笔委托单没成交?两笔没成交的话不撤,一笔没成交才撤?

我写得语句从逻辑上看也应该没有问题,但却因为挂的是一单止损、会多单止盈而不对。如果语句逻辑没有错误,是不是应该是其他问题呢?

老师说的也很简明扼要,但就是让我不明白啊,要不你给写个测试代码 ,纸账户上跑去试试?

[此贴子已经被作者于2012-11-27 10:06:52编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
飞翔鸟
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:147 积分:745 威望:0 精华:0 注册:2010/3/13 17:01:25
  发帖心情 Post By:2012/11/27 15:31:55 [显示全部帖子]

有答案吗?

 回到顶部
帅哥哟,离线,有人找我吗?
飞翔鸟
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:147 积分:745 威望:0 精华:0 注册:2010/3/13 17:01:25
[求助]请老师帮忙编写个模型策略  发帖心情 Post By:2012/11/27 15:59:38 [显示全部帖子]

随便设个条件: 比如5日均线上穿10日均线,市价买进1份欧元美元(比如1楼的成交价1.28690,数量为100000),成交后在1.28660挂上止损卖单,在1.28720挂上止盈卖单。

当价格达到1.28660或者1.28720都会卖出平仓,平仓后则把另一个没成交的挂单给撤单。

注:这里的止盈止损单都是挂到ib服务器上的。如果有本地到达这个止损止盈的价格再下单也可以,请给一个示范测试代码。

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
飞翔鸟
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:147 积分:745 威望:0 精华:0 注册:2010/3/13 17:01:25
  发帖心情 Post By:2012/11/27 16:35:38 [显示全部帖子]

1手交易?   外汇没有期货里‘手’的概念的。可以买卖任意数量,不过为了简便通常做市商的1个标准手,乘数单位是100000.

所以这里的100000可以理解成只下1手的意思。

 


 回到顶部
帅哥哟,离线,有人找我吗?
飞翔鸟
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:147 积分:745 威望:0 精华:0 注册:2010/3/13 17:01:25
  发帖心情 Post By:2012/11/27 16:54:56 [显示全部帖子]

tsell平仓语句后确实是没有可用持仓了,所以用新开空头tbuyshort来挂单卖,以达到平仓目的。

ib没有锁仓概念  比如买入1手,再直接卖出2手,  最终就是1手空头的仓位


 回到顶部
帅哥哟,离线,有人找我吗?
飞翔鸟
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:147 积分:745 威望:0 精华:0 注册:2010/3/13 17:01:25
  发帖心情 Post By:2012/11/27 18:02:28 [显示全部帖子]

外汇的‘手’比较难理解的话,还是用期货来表达, es小标普一样,把1楼的100000改成1就行。结果如图是一样。
图片点击可在新窗口打开查看此主题相关图片如下:es.jpg
图片点击可在新窗口打开查看

 回到顶部