@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); } } }