请教CTP行情问题

Discussion in 'CTP' started by holypangzi, Mar 19, 2013.

  1. 我在本地把OnRtnDepthMarketData一接收到行情就立刻落地记录时间
    发现到达时刻并不是均匀的500ms,上下波动似乎有100ms之多。

    由于除去了网络延时的问题(假定我的网络比较慢,但是计算时间差的话,每个记录时刻都应该慢上一个恒定值),所以想请教一下,这个现象是CTP固有的呢,还是跟每个客户端相关?

    不知道怎么附图。。
     
  2. 机器最好放到CTP托管机房再做测试比较科学,从托管机房到前置机中间3~5个网关的负荷一般不会发生大的波动,这样本地到达时间不会相差太大。
    本地的话每个记录时刻是慢上一个随机数。我自己机子的波动只在两位数。
     
  3. 所以这里“慢上一个随机数”的原因是从交易所到CTP行情前置机再到本地造成的?
    问题是有时候也会“快上一个随机数”,这怎么解释呢?
     
  4. win系统线程切换最小间隔是20ms,加上网络延时,所以慢或快上一个随机数是正常的,因你无法保证数据到达时系统能立即切换线程来处理数据
     
  5. 很好。
    我本以为运行到Join()这一步,把主线程挂起,剩下的行情线程就占着CPU不放了。现在看来这个线程也会在没事干的时候被挂起,数据到了之后再被调度……的确需要时间做线程的切换。

    ……不清楚行情线程具体的实现。至少可以在Linux上做一个实验,看看是不是到达时间的波动会减小?毕竟Linux相比Windows而言实时得多。