コード例 #1
0
ファイル: IBTrader.java プロジェクト: klon/jtrade
  @Override
  protected synchronized void doConnect() {
    super.doConnect();
    if (isConnected()) {
      logger.info("Requesting account updates for {}", ACCOUNT_CODE.get());
      socket.reqAccountUpdates(true, ACCOUNT_CODE.get());
      socket.reqOpenOrders();
      try {
        while (accountCode == null) {
          wait();
        }
      } catch (InterruptedException e) {
        throw new JTradeException(e);
      }
      commission = new Commission(0.0, 0.0, 0.0, 0.0, 0.0);

      if (!ACCOUNT_CODE.get().equals(accountCode)) {
        logger.info(
            "Account code does not match specified account {} <> {}, exiting.",
            accountCode,
            ACCOUNT_CODE.get());
        disconnect();
      } else if (!accountCode.startsWith("D")) {
        if (!REAL_MONEY_ACCOUNT.get()) {
          logger.info(
              "Connected to real money account {} without #REAL_MONEY_ACCOUNT set to true, exiting.",
              accountCode);
          disconnect();
        }
        logger.info("Connected to real money account {} (Manage risk accordingly!)", accountCode);
      } else {
        logger.info("Connected to paper money account {}", accountCode);
      }
    }
  }