public Task SendTradeCaptureRequest(DateTime startDateTime, DateTime endDateTime, Action <string> progressHandler) { return(Task.Run(() => { TradeCaptureReportRequest request = new TradeCaptureReportRequest(); string requestId = DateTime.UtcNow.ToString("yyMMddHHmmssfff"); request.TradeRequestID = new TradeRequestID(requestId); request.TradeRequestType = new TradeRequestType(TradeRequestType.MATCHED_TRADES_MATCHING_CRITERIA_PROVIDED_ON_REQUEST); request.NoDates = new NoDates(2); var noDatesGroup = new TradeCaptureReportRequest.NoDatesGroup(); noDatesGroup.TransactTime = new TransactTime(startDateTime); request.AddGroup(noDatesGroup); noDatesGroup = new TradeCaptureReportRequest.NoDatesGroup(); noDatesGroup.TransactTime = new TransactTime(endDateTime); request.AddGroup(noDatesGroup); Session.SendToTarget(request, _currentSessionId); })); }
/// <inheritdoc /> public async Task GetTradeHistoryAsync(ulong account, string symbol = null, DateTime?from = null, DateTime?to = null, string requestId = "") { var request = new TradeCaptureReportRequest { MsgType = MsgTypes.TradeCaptureReportRequest, Account = account, TradeRequestID = requestId.Proto(), Symbol = symbol.Proto(), }; if (from.HasValue) { request.TransactTime.Add(from.Value.ToUnixNano()); } if (to.HasValue) { if (!from.HasValue) { throw new ArgumentNullException(nameof(from), "Option From is required"); } request.TransactTime.Add(to.Value.ToUnixNano()); } await SendCommandAsync(request).ConfigureAwait(false); }
public virtual void onMessage(TradeCaptureReportRequest message, QuickFix.SessionID session) { throw new QuickFix.UnsupportedMessageType(); }