以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 图表交易实际下单问题 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=145792) |
-- 作者:zxsd -- 发布时间:2017/1/3 14:47:14 -- 图表交易实际下单问题 图表交易实际下单问题 在实盘过程中我发现一个问题: 某根K线开盘时以开盘价按顺序触发: 加多 平多 开空 当时的账户情况是: 两手多单,其中一手多单已经手动挂出平多但是一直没成交(也没撤) 于是按顺序发生了(都是以开盘价下的): 自动下了1手加多(没问题) 自动下了1手平多(按照代码规则应该是平多3手) 自动下了2手开空(没问题) 我想问: 1,如果我手动挂出的单子,在图表程序化交易下,是不会被纠正撤掉的,而是直接在代码规定的手数中减除? 2,写在平多之前的加多,没有收到成交回报的时候,是不算的,会被自动修正为当前实际持仓数量(这里就是规则3手-1手加仓没成交回报的-1手手工挂出去未撤单的),对吗?如果是这样,图表交易中所有在同一个价位进行开仓与平仓的会因为成交回报返回速度没有代码运行的速度快而出现实际不一致? 3,不一致怎么规避? [此贴子已经被作者于2017-1-3 14:48:10编辑过]
|
-- 作者:jinzhe -- 发布时间:2017/1/3 14:50:56 -- 1.平仓手数怎么写的? 2和3 问题基于1的答案 |
-- 作者:zxsd -- 发布时间:2017/1/3 15:02:07 -- SELL(1,0,LIMITR,OPEN); |
-- 作者:jinzhe -- 发布时间:2017/1/3 15:18:55 -- 1.用手数0表示全平,不管账户内有几手,不管账户内的手数比虚拟持仓多还是少,都会被全平。 2.平了不成交是不算在持仓内的。不太懂你这个“不一致”指的是什么 3.追单撤单系统,在交易---下单设置---程式化交易 |
-- 作者:zxsd -- 发布时间:2017/1/3 16:08:51 -- 不一致,比如说: 规则里恰好两个策略在一个价位进行开仓和平仓(顺序也是先开后平); 开仓只开1手、平仓平掉全部仓位; 问题出现,平仓的一切规则条件中不包括“收到上一笔成交回报”,就是说开仓和平仓语句几乎同时下达,但是平仓手数即便是全部平也不会包括刚开的这一手(因为本机运算速度比“下单、成交、成交回报”速度快); 表现在账户界面就是,挂上了一手加仓单,同时挂上了现在全部平仓单(其实应该等加仓成交后加上这一手一起平); 这怎么破? |
-- 作者:jinzhe -- 发布时间:2017/1/3 16:18:23 -- 1.自动持仓同步 2.等一下次出信号平 3.所有开平语句加上orderqueue |
-- 作者:zxsd -- 发布时间:2017/1/3 16:52:00 -- 谢谢版主热心解答 这样的话还有两个问题 1,就是说,图程序化交易,只要满足条件规则那么就会执行开平仓操作,N个开平仓语句就像同时射出去N发子弹一样,除非有orderqueue限制,否则这N个开平仓命令之间没有任何联系是各自独立的?每条语句也都是根据当时(瞬时)的实盘仓位状况来计算的? 2,orderqueue 这个用法能否用于某几个而不是全部开平仓语句中,我看了下例子说明,我写的策略是每次 IF THEN BEGIN END 这一组只写一个开或平的委托语句,比如只开多或只平空;那么如果我想开仓的时候直接开不加orderqueue,而只有平仓的时候保证全部平掉才加orderqueue,那么我平仓的时候能否正常获取到上一次的委托成交指令(上一次可能是加了orderqueue的语句也可能是没加的,甚至可能是几天以前的)? |
-- 作者:yukizzc -- 发布时间:2017/1/3 17:02:55 -- 2、开平是一起加了才有效的 如果 开 平,orderqueue 那么你这个不是队列了,开仓发出后直接就发平仓单了变成。你可以把orderqueue这个队列想象成一个盒子,加了的语句放到盒子里并且盒子是放进去一个成交后才放下一个 所以你就一条语句的话就没起到这个等成交下过了 |
-- 作者:jinzhe -- 发布时间:2017/1/3 17:02:55 -- 1是的,互相之间没有关联的,不会管其他的交易有没有成交,是否还在委托之类的。 2 不太懂你这个 ?前几天的有什么影响? [此贴子已经被作者于2017-1-3 17:07:06编辑过]
|
-- 作者:zxsd -- 发布时间:2017/1/3 17:48:47 -- 我目前有这几个委托语句: 开多、加多、平多(全部平掉) 我的策略里开多不可能和平多出现在一起,但是有可能加多和平多出现在同一时刻同一价格,这样的话我想只把加多和平多写进orderqueue队列中,但是不想影响到开多之后的平多执行速度,可以实现吗?改往哪句里加orderqueue? |