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);
Другие вопросы по тегам