Mac OS X 用のスタンドアロン TWX をダウンロードしました。次に、pip を介して IBpy もインストールしました。TWX を開いて、次の行を実行しました。
from ib.opt import ibConnection
con = ibConnection()
print(con.connect())
ただし、False が出力されます。私は何を間違っていますか?TWX では、信頼できるアドレスとして localhost IP 127.0.0.1 を使用しています。
API設定で「activexとソケットクライアントを有効にする」もチェックする必要があります。127.0.0.1 を指定しない新しいバージョン 950-952 にはバグがある可能性がありますが、代わりに「localhost からの接続のみを許可する」というボックスをオンにします。私はそれをテストしていませんが、それについて読んだことがあります。
IB ゲートウェイを使用する場合、それを使用する唯一の方法は API を使用するため、「ソケット クライアントを有効にする」は必要ありません。デフォルトでは、ゲートウェイはポート 4001 であることに注意してください。使用するcon = ibConnection(port=4001,clientId=123)
clientId 0 で接続しています。con = ibConnection(123)
たとえば、別の clientId を使用できます。
con.disconnect() を呼び出して接続を閉じることを忘れないでください。そうしないと、サーバーはその ID を使用した再接続を許可しません。
追加: これは、IB-API yahoo ユーザー グループで読んだバグです。
しかし、[localhost からの接続のみを許可する] のチェックを外すとすぐに、ローカル アドレスからの接続であっても (つまり、信頼できる IP アドレスとして 127.0.0.1 を使用しても)、どのアドレスからの接続も受け入れなくなります。