2017-12-07 1 views
0

Python을 사용하여 IB를 통한 자동 거래를 기반으로 한 몇 가지 질문이 있습니다.Python을 사용하여 대화 형 중개인의 계정 요약 세부 정보를 받으십시오.

TWS에 액세스 할 수 있지만 계정 요약을 요청할 때이를 사용하기위한 상수 변수에 넣을 수 없기 때문에 인쇄 출력으로 만받습니다. 여기

내 코드 :

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

def error_handler(msg): 
    """Handles the capturing of error messages""" 
    print "Server Error: %s" % msg 

def reply_handler(msg): 
    """Handles of server replies""" 
    print "Server Response: %s, %s" % (msg.typeName, msg) 

if __name__ == "__main__": 

    tws_conn = Connection.create(port=4096, clientId=150) 
    tws_conn.connect() 
    tws_conn.registerAll(reply_handler) 

    tws_conn.reqAccountSummary(119, "All", "TotalCashValue") 
    time.sleep(4) 

화면 (cmd를)에서 출력 :

Server Response: accountSummary, <accountSummary reqId=119, 
account=DU860294, tag=TotalCashValue, value=980232.77, currency=USD> 
Server Response: accountSummary, <accountSummary reqId=119, 
account=DUC00074, tag=TotalCashValue, value=610528.18, currency=USD> 
Server Response: accountSummaryEnd, <accountSummaryEnd reqId=119> 

내 내 프로그램에서 사용하는 변수에 모든 정보를 넣어하는 것입니다 필요합니다.

미리 감사드립니다.

+0

IB의 새로운 파이썬 API가 있습니다.이 질문을 확인하십시오. https://stackoverflow.com/q/47151737/2855515 – brian

답변

0

이 정보는 updateAccountValue 이벤트를 통해서도 얻을 수 있습니다. tws_conn.reqAccountUpdates를 사용하여이 이벤트()에 대한 구독 그런 다음 키 == "TotalCashValue"와 같은 메시지를 필터링하고 이중 변수에 값 문자열로 변환 할 수 있습니다

updateAccountValue(string key, string value, string currency, string accountName) 

에 계정 관련 정보를받을 수 있습니다.

관련 문제