2017-01-27 69 views
1

我正在使用QuickFIx C++引擎 我想發送GTT(Good Till Time)命令,我需要將FIX :: ExpireTime設置爲UTCTimeStampFormat。時間部分指定訂單到期之前的時間量。例如,對於以秒爲單位的訂單,該值可能爲00000000-00:00:10.000。即訂單的相對到期時間格式爲YYYYMMDD-hh:mm:ss.sss。如何在QuickFix中設置FIX :: ExpireTime C++

在這裏,可以說我有一個變量:int delay = 10.也就是說,如果它在10秒內沒有填充,我需要取消訂單。

任何人都可以請建議如何在00000000-00:00:10.000格式中設置以上值(延遲),以便我可以設置FIX :: ExpireTime。

目前我使用:

FIX::UtcTimeStamp expireTime(0, 0, 10, 0, 0, 0, 0); 

newOrderSingle.set(FIX::ExpireTime(expireTime.getTime())); 

但似乎拿當前的時間,而不是00000000-00:00:10.000

感謝和問候 garv

+0

你調試了嗎? – DumbCoder

+0

是的,我做過。但我需要設置YYYYMMDD字段爲00000000.即使我設置time_t t = 10,然後FIX :: UtcTimeStamp expireTime(t,0),我得到19700101-00:00:10.000作爲輸出。 – Garv

回答

0

如何設置過期作爲一個字符串?

message.setField(FIX::FIELD::ExpireTime, "00000000-00:00:10.000");