6

PythonでIBに接続したいのですが、私のコードは次のとおりです。

from ib.ext.Contract import Contract
from ib.ext.Order import Order
from ib.opt import Connection, message


def error_handler(msg):

   print "Server Error: %s" % msg

def reply_handler(msg):

   print "Server Response: %s, %s" % (msg.typeName, msg)



if __name__ == "__main__":
 tws_conn = Connection.create(port=7496, clientId=100)
 tws_conn.connect()
 tws_conn.register(error_handler, 'Error')  
 tws_conn.registerAll(reply_handler)

このコードを使用するたびに、サーバーに接続できないことを示す次のエラーが表示されます。

Server Error: <error id=-1, errorCode=504, errorMsg=Not connected>
Server Response: error, <error id=-1, errorCode=504, errorMsg=Not connected>

IB に接続できないのはなぜですか?

4

2 に答える 2

7

三つのこと:

  1. TWS Java アプリが実行中で、ログインしていることを確認してください。
  2. TWS で、[グローバル構成] > [API] に移動し、[アクティブ クライアントとソケット クライアントを有効にする] がオンになっていることを確認します。
  3. Global Configuration > API で、信頼できる IP アドレスとして「127.0.0.1」を追加してください (これは、TWS Java アプリを実行している同じマシンで py コードが実行されていることを前提としています。
于 2014-08-31T19:28:43.733 に答える