0

私はPythonとプログラミングは初めてですが、学んでいます。オプションのPythonを介してTWSに注文を送信しようとしています。このエラーメッセージが表示され続けます

「サーバー エラー: サーバーの応答: エラー、トレースバック (最新の呼び出しが最後):」

株式の注文をしようとしましたが、注文は通りましたが、オプションの注文はできませんでした

def create_contract(a,b,c,d):
    contract = Contract()
    contract.symbol = '%a'
    contract.secType = "OPT"
    contract.exchange = "SMART"
    contract.order_exchange = "SMART"
    contract.currency = "USD"
    contract.ContractMonth = b
    contract.strike = c
    contract.right = '%d'
    contract.multiplier = "100"
    return contract
def create_order(order_type, quantity, action):
    order = Order()
    order.m_orderType = order_type
    order.m_totalQuantity = quantity
    order.m_action = action
    return order
if __name__ == "__main__":
    tws_conn = Connection.create("127.0.0.1", port=7495)
    tws_conn.connect()
    tws_conn.register(error_handler, 'Error')
    tws_conn.registerAll(reply_handler)
    order_id = 1
            goog_contract = create_contract(tic,hup.cell(2,3).value,hup.cell(2,4).value,hup.cell(2,13).value)
            goog_order = create_order('MKT', 1, 'BUY')
            tws_conn.placeOrder(order_id, goog_contract, goog_order)

オプション注文がTWSを通過することを確認したい. また、placeorder パラメータの適切な例をいくつか見てみたいと思います。

4

2 に答える 2

0

IBPy または IB API のサードパーティ ラッパーを使用しているように見えますか? 代わりにIB のネイティブ Python APIまたはib_insyncを使用することを検討してください。

株式の注文はできるが、オプションの注文はできない場合は、オプション契約の定義方法に問題がある可能性があります (紙の口座に必要な権限があると仮定します)。ネイティブ IB Python API でオプションを定義する例は、次の場所にあります。

http://interactivebrokers.github.io/tws-api/basic_contracts.html#opt

どのパラメータが正しくないかを判断するには、 の値を表示する必要がありますa,b,c,d

以下で説明されているように、TWS で API ロギングを有効にすることもできます。

http://interactivebrokers.github.io/tws-api/support.html#tws_logs

トラブルシューティングの目的で。

于 2019-08-08T19:12:29.820 に答える