Beispiel #1
0
 public override void onMessage(QuickFix44.SecurityDefinition message, SessionID sessionID)
 {
     QuickFix44.SecurityDefinition echo = message;
     try
     {
       Session.sendToTarget(echo, sessionID);
     }
     catch (SessionNotFound) { }
 }
Beispiel #2
0
  public override void onMessage( QuickFix44.NewOrderSingle order, SessionID sessionID )
  {
    Symbol symbol = new Symbol();
    Side side = new Side();
    OrdType ordType = new OrdType();
    OrderQty orderQty = new OrderQty();
    Price price = new Price();
    ClOrdID clOrdID = new ClOrdID();

    order.get( ordType );

    if ( ordType.getValue() != OrdType.LIMIT )
      throw new IncorrectTagValue( ordType.getField() );

    order.get( symbol );
    order.get( side );
    order.get( orderQty );
    order.get( price );
    order.get( clOrdID );

    QuickFix44.ExecutionReport executionReport = new QuickFix44.ExecutionReport
      ( genOrderID(),
      genExecID(),
      new ExecType ( ExecType.FILL ),
      new OrdStatus ( OrdStatus.FILLED ),
      side,
      new LeavesQty ( 0 ),
      new CumQty ( orderQty.getValue() ),
      new AvgPx ( price.getValue() ) );

    executionReport.set( clOrdID );
    executionReport.set( symbol );
    executionReport.set( orderQty );
    executionReport.set( new LastQty( orderQty.getValue() ) );
    executionReport.set( new LastPx( price.getValue() ) );

    if( order.isSetAccount() )
      executionReport.setField( order.getAccount() );

    try
    {
      Session.sendToTarget( executionReport, sessionID );
    }
    catch ( SessionNotFound ) {}
  }
Beispiel #3
0
 public override void onMessage(QuickFix44.NewOrderSingle message, SessionID sessionID)
 {
     process(message, sessionID);
 }