以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请求老师再次帮忙 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=185039) |
-- 作者:wyhyty -- 发布时间:2021/4/6 9:24:26 -- 请求老师再次帮忙 2021-04-02 13:33:20.178 【图表】PG05 运行完毕 2021-04-02 13:33:21.191 【图表】RB05 运行完毕 2021-04-02 13:33:21.192 【图表】PG05 运行完毕 2021-04-02 13:33:22.205 【图表】RB05 运行完毕 2021-04-02 13:33:22.206 【图表】框架:wyh1 触发下单 BUY 品种 PG05 下单K线 2021.04.02 13:35:00 公式:Formula1 窗格ID:Window4 代码行:11 2021-04-02 13:33:22.206 【图表】模型下单 1 2021-04-02 13:33:22.207 【图表】下单系数调整后 手数:1 2021-04-02 13:33:22.207 【图表】直接下单 2021-04-02 13:33:22.210 【图表】框架:wyh1 触发下单 SELL 品种 PG05 下单K线 2021.04.02 13:35:00 公式:Formula1 窗格ID:Window4 代码行:13 2021-04-02 13:33:22.211 【图表】模型下单 1 2021-04-02 13:33:22.211 【图表】下单系数调整后 手数:1 2021-04-02 13:33:22.211 【图表】实际持仓 0 2021-04-02 13:33:22.212 【图表】PG05 运行完毕 2021-04-02 13:33:22.213 【下单】PG05 价0.000000 量1 买卖0 类型1 开平0 账户13592676417 Formula 1 2021-04-02 13:33:22.213 【下单】已提交,订单ID :33818615 2021-04-02 13:33:22.327 【指令】收到回报指令 ID = 33818615 2021-04-02 13:33:22.327 【回报】13592676417 : PG05 - 已报单 1 价格:3773 开 买 2021-04-02 13:33:22.378 【指令】收到Order回报指令 ID = 33818615 Status = 3 2021-04-02 13:33:22.500 【指令】收到成交回报指令 ORDERID = 33818615 2021-04-02 13:33:22.500 【回报】13592676417 : pg2105 - 已成交 1 价格:3770 开 买 2021-04-02 13:33:22.500 【回报】13592676417 : pg2105 - 全部成交 1 2021-04-02 13:33:23.219 【图表】RB05 运行完毕 2021-04-02 13:33:23.220 【图表】PG05 运行完毕 2021-04-02 13:33:24.233 【图表】RB05 运行完毕 上图是液化气5分钟线4月2号下午13点半开盘时候的K线,出现了一个开多信号和一个平多信号。收盘的时候我发现持仓多了一手,调取日志也看不懂啊。 shijian:=145900<CURRENTTIME and CURRENTTIME<150000; pingduo:=TODAYBAR>1 and (c<ref(l,1) or shijian=1 or l<ref(l,1)); buy(dddd and h>ref(h,1) and shijian=0 and holding=0,1,market); buy(cccc and h>ref(h,1) and shijian=0 and holding=0,1,market); sell(pingduo and holding>0,holding,market); 以上是我的代码,DDDD和CCCC不便贴出来,就是当时满足了所以才开仓了。但收盘的时候发现有一手液化气没平掉,系统也没发出平仓信号。能帮忙看下咋回事啊。 |
-- 作者:FireScript -- 发布时间:2021/4/6 9:52:00 -- 你这个是因为一个平仓和开仓在一个K。但是当时实际持仓情况是0 。开仓的发出去了,还没成交,直接发平仓,是等于没触发的。 13:22时候的一个平仓信号是直接忽略掉了的。因为那时候还没有可平的仓位。 要么在策略上防止开平仓在一个K触发,要么就用ORDERQUEUE 将下单指令都放在一个序列中。成交后才执行后面信号。
|
-- 作者:wyhyty -- 发布时间:2021/4/6 10:01:53 -- 好的,我试试,谢谢管理了。 |
-- 作者:wyhyty -- 发布时间:2021/4/6 10:25:16 -- ORDERQUEUE 会不会影响我在多个品种上的下单排序? 比如我把一个模型加载到多个品种上运行,A品种先出一个买指令并且一直没有成交,这时候B品种也达到条件了要买,会不会因为A得指令还没成交而造成B品种的指令排队等候不发出? |
-- 作者:FireScript -- 发布时间:2021/4/6 10:47:06 -- 是的。都会到一个队列里。可能会造成你说的那种影响。 |
-- 作者:wyhyty -- 发布时间:2021/4/6 10:52:00 -- 那能不能控制指令发出后几秒内没有成交就撤了重新市价下单? |
-- 作者:FireScript -- 发布时间:2021/4/6 10:59:47 -- 它这个有2种可以选择的 不是非要等待上一笔成交。这种模式可以定期发单。无论前面的成交了没,还是撤单了。 |
-- 作者:FireScript -- 发布时间:2021/4/6 11:07:27 -- 但是这里设置的秒数内可能也没办法成交,尤其限价单,市价可能还好成交很快。另外要是撤单的话,单子会被放到队列后面去了。总有一种鱼和熊掌不可兼得的感觉。 |
-- 作者:wyhyty -- 发布时间:2021/4/6 12:45:11 -- 好的,我研究一下。谢谢管理。 |
-- 作者:wyhyty -- 发布时间:2021/4/6 12:47:09 -- 如果我把同一个模型复制粘贴,取不同的名字,这样我就可以建立N个不同名字的模型,然后我用这N个模型分别加载到N个品种上,这样的话会不会各个品种间不用排队? |