以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 为什么还是没有提前下单了 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=175071) |
-- 作者:jayhaha580 -- 发布时间:2020/3/20 11:14:01 -- 为什么还是没有提前下单了 为什么我已经在策略写了early:=(time0-timetot0(dynainfo(207))<=1) or not(islastbar); 而且后面在交易sell和buy语句后面也加了early条件 但我在实盘交易时还是没有实现提前一秒下单 信号是在09:03分出现的 和在10:54分出现的,但是报单就延迟了1秒和4秒,这个图表程序化应该就是显示信号出现然后报单的时间吧?所以应该是提前一秒猜对,但为什么不行呢?这个应该不是追单问题,你们系统追单会显示出来的吧 |
-- 作者:wenarm -- 发布时间:2020/3/20 11:25:25 -- 提前1秒钟间隔太短了。在行情不活跃时容易漏单。
你看到的时间是本地计算机时间,代码中是按行情时间判断的。肯定多少有点偏差 |
-- 作者:jayhaha580 -- 发布时间:2020/3/20 12:15:28 -- 就是图表程序化出现的时间是本地计算机时间吗?那怎么把本地计算机时间调整为和交易所时间一样呢?那应该怎么操作,是要提前两秒吗? |
-- 作者:jayhaha580 -- 发布时间:2020/3/20 12:21:31 -- 时间是差一秒,但现在不止差了一秒,是2秒和4秒了 |
-- 作者:yukizzc -- 发布时间:2020/3/20 12:24:43 -- 你的电脑时间永远不可能做到和交易所一点不差的 实际你上你就是提前一秒了,只是那个显示记录那边让你觉得不是差一秒
这个不用去管,就好比你电脑一定不会准这个无法改变
另外行情时间是根据行情来的,提前一秒这个前提条件是59秒必须有行情,这种太苛刻了,如果该品种58秒然后直接跳到00那么你就漏单了
[此贴子已经被作者于2020/3/20 12:25:50编辑过]
|
-- 作者:wenarm -- 发布时间:2020/3/20 12:24:43 -- early:=(time0-timetot0(dynainfo(207)) 这个是根据行情时间计算的逻辑。dynainfo(207)是行情时间。 提前下单的时间建议你在3秒以上。如果是不活跃品种还要大,否者某根k上如果没有最后几秒的数据,这个条件就不成立了。
计算机本地时间和交易所行情时间多少都会有点出入,即使你不停与时间服务器进行同步也只能缩小时间误差。你不用太在意记录的本地时间。 只要保证行情接收正常,公式计算没有卡顿就行。
|
-- 作者:jayhaha580 -- 发布时间:2020/3/20 14:02:44 -- 那怎么判断这个条件是真的实现了。一般我看见交易栏报单都是9:03:01成交的,是不是说,刚好59秒时没有行情,直接图表就没有反应了,然后9:03:00也没有反应,到9:03:01才有反应 |
-- 作者:jayhaha580 -- 发布时间:2020/3/20 14:04:20 -- 为什么记录交易时间不用交易所时间,而要用本地计算机时间呢,这样不就有了时间差不好对比了吗?建议改进一下啦 |
-- 作者:FireScript -- 发布时间:2020/3/20 14:18:28 -- 肯定不能用行情时间。行情时间有限啊。没有行情得情况下,某些日志记录还是要进行的。 总之你这里的情况在设置时间太小的情况下,是很难保证准确无误的。
[此贴子已经被作者于2020/3/20 14:22:39编辑过]
|
-- 作者:wenarm -- 发布时间:2020/3/20 15:05:43 -- 你自己如果想判断触发的时间是否在最后几秒内,完全可以用debugfile输出参与计算的行情时间dynainfo(207) aa:dynainfo(207); if time0-timetot0(dynainfo(207))<=1) or not(islastbar) then begin debugfile(.....,aa);
end |