/// <summary> /// 入札結果を取得し、終了のものが有れば、 /// エントリーしたシグナル情報と照らし合わせて /// どのシグナルでエントリーしたものかをチェックして /// 格納する /// </summary> /// <returns></returns> public void getSignalResult(ref List <BoHistroyContainer> boHistroyContainers) { try { IsActivate(); // ハイロー画面へ // リストを取得 IReadOnlyCollection <IWebElement> resultList = this.chrome.FindElementsByXPath("//*[@id='tradeActionsTableBody']/tr"); for (int i = 0; i < resultList.Count(); i++) { // 取引終了の結果があった場合 if (resultList.ElementAt(i).Text.Contains("取引終了")) { // 比較先 型を取る SignalResult resSig = CommonControl.ConvBoResult(resultList.ElementAt(i).Text); // すべての履歴コンテナと比較 for (int n = 0; n < boHistroyContainers.Count; n++) { // 比較元 入力シグナルコンテナ BoHistroyContainer bhc = boHistroyContainers.ElementAt(n); if (bhc.State != HistoryState.hsWaitResult) { continue; // シグナル結果待ちのもののみ比較対象とする } // 入札銘柄と時間が同じなら そのシグナルで入札した結果とし、googleに送信する if (resSig.R_TradeBrand.Equals(bhc.Sig.tradeBrand) && DateTime.Parse(resSig.R_JudgeTime).Equals(DateTime.Parse(bhc.Sig.tradeTimeFrame))) { boHistroyContainers.ElementAt(n).ResultSig = resSig; boHistroyContainers.ElementAt(n).State = HistoryState.hsWaitPost; // → Google送信待ち break; } } } } } catch (Exception e) { CommonControl.DebugPrint(e); } }