読者です 読者をやめる 読者になる 読者になる

ぬるぽの原因を探り、始末せよ!

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() + "件あります");
}));

なんとかうまく動いた!よかったー。