【问题标题】:How to get Milliseconds from group.getMDEntryTime().getValue()如何从 group.getMDEntryTime().getValue() 获取毫秒
【发布时间】:2015-08-28 18:46:44
【问题描述】:

我如何从QuickFix44.MarketDataSnapshotFullRefresh.NoMDEntries获得毫秒数

这是我的代码

private DateTime getClose(QuickFix44.MarketDataSnapshotFullRefresh mds)
{
  DateTime close = new DateTime(0L);
  try
  {
    DateTime last = new DateTime(0L);
    QuickFix44.MarketDataSnapshotFullRefresh.NoMDEntries group = new QuickFix44.MarketDataSnapshotFullRefresh.NoMDEntries();
      for (uint i = 1; i < mds.getNoMDEntries().getValue(); i++)
    {
      group = (QuickFix44.MarketDataSnapshotFullRefresh.NoMDEntries)mds.getGroup(i, group);
      if (group.getMDEntryTime().getValue() != null)
      {

        last = new DateTime(group.getMDEntryDate().getValue().Ticks + group.getMDEntryTime().getValue().Ticks);
        close = ((close.Ticks > last.Ticks) ? close : last);
      }
    }
  }
  catch (Exception e) { }
  //return TimeZoneInfo.ConvertTime(close, TimeZoneInfo.Utc, TimeZoneInfo.Local);
  return close;
}

但是当我打印结束日期时,我会得到毫秒为 000 的日期,如下所示

08/28/2015 18:43:48.000

【问题讨论】:

  • 你能做类似last = DateTime.Now.ToString("hh.mm.ss.ffffff");的事情吗,或者更好的事情像DateTime.Now.Millisecond这样简单
  • 我做到了。但出于准确性目的,我不想从我的系统中添加或显示毫秒。我想要每次市场数据刷新时的确切时间戳。
  • 然后使用相同的概念,因为您正在从该对象捕获 TimeStamp 或 DateTime 为什么不能使用 string.Format 函数..
  • 我这样做了,但我没有得到毫秒部分,因为在 getValue() 函数中它被删除了。有一个设置可以将其设置为 true,但我无法做到这一点。这不是纯粹的 c# 相关问题。这是一个 FIX4.4 的问题。
  • 我明白了.. 我的道歉无视我以前的 cmets..

标签: c# quickfix fix-protocol


【解决方案1】:

您的市场数据提供商似乎没有向您发送毫秒数...

last = new DateTime(group.getMDEntryDate().getValue().Ticks + group.getMDEntryTime().getValue().Ticks);

如果是,您可以尝试直接获取 MDEntryDate,例如:

group.getField(new StringField("272")).getValue()

【讨论】:

  • @Wapiti 你是对的。我的提供商没有在模拟账户中发送毫秒数。所以从标题字段 52 中提取值。
  • 很高兴我能帮上一些忙。看起来 rupweb 也有帮助。你的意思是接受他的回答还是我的?可惜你不能同时接受!
  • 哈哈,我猜这是提供商数据问题首先是对的,不是吗?!哈哈...但是,消息的标头是提供者发送消息的时间,而不是提供者实际在他们身边执行的时间。正确的?不过我不确定这是否重要。
【解决方案2】:

我不会说这种语言,但我在 python 中遇到了类似的问题,我通过查看消息的标题而不是其他地方解决了这个问题。以防万一这对您有所帮助,请参阅the question here。

【讨论】:

    猜你喜欢
    • 2013-07-28
    • 1970-01-01
    • 2019-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    • 2014-07-19
    • 2016-09-22
    相关资源
    最近更新 更多