QuickFix - ошибка "ObjectDisposedException" в NewOrderSingle
Я работаю над брокером FxPro Ctrader (FIX 4.4) и пытаюсь создать FixApi в C# с использованием библиотеки QuickFix/n (1.7.0.0).
Я застрял в "NewOrderSingle": после успешного входа я пытаюсь сделать заказ:
class TradeConnection : MessageCracker, IApplication
{
public void OnLogon(SessionID sessionID)
{
Write.Info("Account TRADE successful logged " + sessionID);
sendOrder();
}
public void sendOrder()
{
NewOrderSingle oc = new NewOrderSingle();
ClOrdID ID = new ClOrdID("1408479");
Symbol symb = new Symbol("1");
Side side = new Side('1');
OrderQty lots = new OrderQty(1000);
OrdType type = new OrdType('1');
TransactTime TransactTime = new TransactTime(DateTime.Now);
TimeInForce TimeInForce = new TimeInForce('3');
oc.SetField(ID);
oc.SetField(symb);
oc.SetField(side);
oc.SetField(lots);
oc.SetField(type);
oc.SetField(TimeInForce);
send(oc);
}
public void send(QuickFix.Message message)
{
Session.SendToTarget(message, sessionID);
}
}
К сожалению, это не работает, и я получаю ошибку:
Первое случайное исключение типа "System.ObjectDisposedException" произошло в System.dll
Та же ошибка появляется @
RequestForPositions и OrderStatusRequest
На той же учетной записи в API, который использует NetworkStream, а не QuickFix lib, он работает нормально.
1 ответ
Задача решена. Забыл установить поле TransactTime, для которого требуется контрагент:
oc.SetField(TransactTime);