Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共10 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:为什么还是没有提前下单了

1楼
jayhaha580 发表于:2020/3/20 11:14:01
为什么我已经在策略写了early:=(time0-timetot0(dynainfo(207))<=1) or not(islastbar);

而且后面在交易sell和buy语句后面也加了early条件

但我在实盘交易时还是没有实现提前一秒下单



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

信号是在09:03分出现的 和在10:54分出现的,但是报单就延迟了1秒和4秒,这个图表程序化应该就是显示信号出现然后报单的时间吧?所以应该是提前一秒猜对,但为什么不行呢?这个应该不是追单问题,你们系统追单会显示出来的吧


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


2楼
wenarm 发表于:2020/3/20 11:25:25

提前1秒钟间隔太短了。在行情不活跃时容易漏单。

 

你看到的时间是本地计算机时间,代码中是按行情时间判断的。肯定多少有点偏差

3楼
jayhaha580 发表于:2020/3/20 12:15:28
就是图表程序化出现的时间是本地计算机时间吗?那怎么把本地计算机时间调整为和交易所时间一样呢?那应该怎么操作,是要提前两秒吗?
4楼
jayhaha580 发表于:2020/3/20 12:21:31
时间是差一秒,但现在不止差了一秒,是2秒和4秒了
5楼
yukizzc 发表于:2020/3/20 12:24:43

你的电脑时间永远不可能做到和交易所一点不差的

实际你上你就是提前一秒了,只是那个显示记录那边让你觉得不是差一秒

 

这个不用去管,就好比你电脑一定不会准这个无法改变

 

另外行情时间是根据行情来的,提前一秒这个前提条件是59秒必须有行情,这种太苛刻了,如果该品种58秒然后直接跳到00那么你就漏单了

 

[此贴子已经被作者于2020/3/20 12:25:50编辑过]
6楼
wenarm 发表于:2020/3/20 12:24:43

early:=(time0-timetot0(dynainfo(207))

这个是根据行情时间计算的逻辑。dynainfo(207)是行情时间。

提前下单的时间建议你在3秒以上。如果是不活跃品种还要大,否者某根k上如果没有最后几秒的数据,这个条件就不成立了。

 

 

计算机本地时间和交易所行情时间多少都会有点出入,即使你不停与时间服务器进行同步也只能缩小时间误差。你不用太在意记录的本地时间。

只要保证行情接收正常,公式计算没有卡顿就行。

 

 

 

7楼
jayhaha580 发表于:2020/3/20 14:02:44
那怎么判断这个条件是真的实现了。一般我看见交易栏报单都是9:03:01成交的,是不是说,刚好59秒时没有行情,直接图表就没有反应了,然后9:03:00也没有反应,到9:03:01才有反应
8楼
jayhaha580 发表于:2020/3/20 14:04:20
为什么记录交易时间不用交易所时间,而要用本地计算机时间呢,这样不就有了时间差不好对比了吗?建议改进一下啦
9楼
FireScript 发表于:2020/3/20 14:18:28
肯定不能用行情时间。行情时间有限啊。没有行情得情况下,某些日志记录还是要进行的。

总之你这里的情况在设置时间太小的情况下,是很难保证准确无误的。
[此贴子已经被作者于2020/3/20 14:22:39编辑过]
10楼
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

共10 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03906 s, 3 queries.