ぬるぽの原因を探り、始末せよ!
HashMapとLinkedListに要素を追加している部分が怪しいので調べる
ArrayList<Portfolio> portfolioList = pm.getPortfolio(); Portfolio portfolio = portfolioList.get(portfolioList.size() - 1); System.out.println("TradeID:" + portfolio.getTradeId() + " を" + portfolio.getExecQty() + "株追加します。"); pMemo.put(portfolio.getTradeId(), portfolio.getExecQty());
1,2行目、Portfolioを用いているのが良くない感じがする
OrderHistoryManagerからその日の約定注文を取得して、TradeIDを調べる方法に変更する
上の部分を以下の通り修正して実行してみる
OrderHistoryManager om = OrderHistoryManager.getInstance(); TimeManager tm = TimeManager.getInstance(); ArrayList<OrderHistory> ohList = om.getOrderHistoryByDay(tm.getCurrentDate()); if (ohList.size() == 1) { OrderHistory oh = ohList.get(0); pMemo.put(oh.getTradeId(), oh.getExecQty()); System.out.println("TradeID:" + oh.getTradeId() + " を" + oh.getExecQty() + "株追加します。"); } else { System.out.println(tm.getCurrentDate() + "日の注文約定履歴がなぜか" + ohList.size() + "件あります"); }));
なんとかうまく動いた!よかったー。