以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 关于发出了交易指令但是在模拟账户中没有成交的问题 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=71918) |
-- 作者:grecian -- 发布时间:2014/11/12 16:08:28 -- 关于发出了交易指令但是在模拟账户中没有成交的问题 我在图形交易的时候碰到了如下问题,我发出了平空指令SELLSHORT,但是发现在模拟账户中的空单并没有平掉。我想请教一下各位大侠。 下面是我的程序,在log文件中的确有DEBUGFILE打出的记录,但是账户中的空单就是没有平掉,然后log显示我一直在平,不知道原因是什么,close是实盘中的实时价格,我想知道平不掉的原因,平仓价close是否不行,求教了 DEBUGFILE(exchangeFilePath , \'4close:%.2f\',close); |
-- 作者:yukizzc -- 发布时间:2014/11/12 16:12:15 -- 有勾选交易日志吗?把日志贴出来看下 |
-- 作者:grecian -- 发布时间:2014/11/12 17:06:52 -- 有勾选,但是没有任何交易日志打出(也就是【图表交易化】dialog中没有平仓记录,【交易状态】中没有平仓记录,账户的【委托明细】tab和【成交明细】tab中都没有平仓记录),但是前面的开仓信号是打出的,下面是【交易状态】中没有开仓记录,但是后面没有平仓记录 2014-11-12 11:08:17 2014-11-12 11:08:34 2014-11-12 11:12:03 2014-11-12 11:12:03 |
-- 作者:yukizzc -- 发布时间:2014/11/12 17:19:00 -- 我说的日志是交易-下单设置-程式化交易-记录下单位置 这里 你图表程序化交易记录那里什么都没吗?那说明条件没有触发。你确定当时的平仓条件是满足的? |
-- 作者:grecian -- 发布时间:2014/11/12 19:46:09 -- 的确,你说的这个我已经设置好了,那两行代码我是连在一起写的,前面DEBUGFILE打出来了,后面应该必然走到的。 |
-- 作者:yukizzc -- 发布时间:2014/11/12 20:36:25 -- D:\\Weisoft Stock\\Setting\\OrderLog 日志文件在这里,把哪个时间点的也说明下,贴在这里。 另外你程序化运行模式是轮询吗?间隔多少,有没有可能间隔太长导致漏过了这个信号 [此贴子已经被作者于2014/11/12 20:37:06编辑过]
|
-- 作者:RogarZ -- 发布时间:2014/11/13 8:53:01 -- if cross(a,b) then begin DEBUGFILE(exchangeFilePath , \'4close:%.2f\',close); end
看上面的代码 1、当实际持仓为0时 满足cross(A,B) 进入条件 代码自上而下运行 debugfile会输出 但是sellshort不会触发 2、当cross(a,b)满足条件,进入条件语句,输出debugfile 但虚拟持仓holding=0 所以sellshort实际不起作用,图表程序化没有记录。 你看看是否发生了类似的事情。
[此贴子已经被作者于2014/11/13 10:12:57编辑过]
|
-- 作者:grecian -- 发布时间:2014/11/13 9:46:43 -- 非常感谢您的提醒,由于昨天开的是另一个机器,没有设定log,我今天再看一下,但是交易时间是固定1秒轮询,应该没有问题 |
-- 作者:yukizzc -- 发布时间:2014/11/13 9:50:39 -- 1应该不会漏掉,恩有可能是7楼的问题。 你可以在外面条件那里价格if cond and holding<0 then debugfile sellshort //这样在有空仓时才会去输出记录和平空 |
-- 作者:RogarZ -- 发布时间:2014/11/13 10:13:28 -- 7楼原来的帖子 有说的清楚的地方。 我补充,完善了下 |