問題タブ [interactive-brokers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Pythonのibapiで一連のリクエストを取得する方法
私は Python と ibapi の両方が初めてで、Interactive Broker 自体に尋ねましたが、彼らは私に次のことだけを教えてくれました:
self.done は元々、現在の API 接続が「完了」したことを示すために使用される親クラス EClient で定義されています。自分で構築したループを停止するための指標として使用しないでください。必要なすべての履歴データのダウンロードが完了するまで、1 つの API クライアント接続をライブのままにしておくことができます。データを要求するペースを遅くする必要がある場合は、python で sleep() 関数などの他のスレッド制御を使用してループに待機時間を追加し、すべてのコントラクトの履歴データ要求を一度に送信しないようにすることができます。 .
だから私はエラーがから来たと思う
これは私のコードです
self.done を使用せずに反復のために次に渡す方法や、TWS を切断する方法の提案を期待しています。self.done を含めないと、プログラムは最初の i=0,j=0 反復で無限ループで実行され、誰も終了するように指示しません。
したがって、私の問題を解決できる直接的な答えがわからない場合は、次のことを提案できます。
この場合に使用できる他のフロー制御はありますか?
または、この場合に使用できる場合、cancelHistoricalData コマンドはありますか?
または、クラスでクラスを構築し、クラスで自分の ID を切断せずに、サブクラスでのみ self.done = True を実行する方法はありますか?
PS。requestMarketData にも同じ問題があります
Update V2 これは私が印刷しようとした結果です