0
파이썬에서 TWS
으로의 연결을 성공적으로 설정할 수 있었지만 데이터를 가져올 수 없거나 데이터를 가져 왔지만 표시되지 않는지 확실하지 않습니다.파이썬 콘솔에서 TWS의 히스토리 데이터를 검색하고 표시하는 방법은 무엇입니까?
새로운 소식입니다. TWS
에서 이전 데이터를 가져 오는 방법에 대해 친절하게 도움을 줄 수 있습니까?
파이썬에서 TWS
으로의 연결을 성공적으로 설정할 수 있었지만 데이터를 가져올 수 없거나 데이터를 가져 왔지만 표시되지 않는지 확실하지 않습니다.파이썬 콘솔에서 TWS의 히스토리 데이터를 검색하고 표시하는 방법은 무엇입니까?
새로운 소식입니다. TWS
에서 이전 데이터를 가져 오는 방법에 대해 친절하게 도움을 줄 수 있습니까?
나를 위해 작동합니다.
from ibapi.wrapper import EWrapper
from ibapi.client import EClient
from ibapi.utils import iswrapper
from ibapi.common import *
from ibapi.contract import *
from ibapi.ticktype import *
class TestApp(EWrapper, EClient):
def __init__(self):
EClient.__init__(self,self)
def error(self, reqId: TickerId, errorCode:int, errorString:str):
print('Error:', reqId, " ", errorCode, " ", errorString)
def contractDetails(self, reqId:int, contractDetails:ContractDetails):
print("contractDetails: ", reqId, " ", contractDetails)
def marketDataType(self, reqId: TickerId, marketDataType: int):
super().marketDataType(reqId, marketDataType)
print("MarketDataType. ", reqId, "Type:", marketDataType)
@iswrapper
def tickPrice(self, reqId: TickerId, tickType: TickType, price: float, attrib: TickAttrib):
super().tickPrice(reqId, tickType, price, attrib)
print("Tick Price. Ticker Id:", reqId, "tickType:", tickType, "Price:", price, "CanAutoExecute:", attrib.canAutoExecute, "PastLimit", attrib.pastLimit)
@iswrapper
def tickSize(self, reqId: TickerId, tickType: TickType, size: int):
super().tickSize(reqId, tickType, size)
print("Tick Size. Ticker Id:", reqId, "tickType:", tickType, "Size:", size)
@iswrapper
def tickString(self, reqId: TickerId, tickType: TickType, value: str):
super().tickString(reqId, tickType, value)
print("Tick string. Ticker Id:", reqId, "Type:", tickType, "Value:", value)
@iswrapper
def tickGeneric(self, reqId: TickerId, tickType: TickType, value: float):
super().tickGeneric(reqId, tickType, value)
print("Tick Generic. Ticker Id:", reqId, "tickType:", tickType, "Value:", value)
def main():
app = TestApp()
app.connect("127.0.0.1", 4001, 0)
contract = Contract();
contract.symbol = "VIX";
contract.secType = "FUT";
contract.exchange = "CFE";
contract.currency = "USD";
contract.lastTradeDateOrContractMonth = "20170621";
app.reqMktData(1001, contract, "", False, False, [])
app.run()
sleep(10)
app.disconnect()
if __name__ == '__main__':
main()
무엇을 시도 했습니까? 사람들이 더 잘 당신을 도울 수 있도록 재현 가능한 코드를 게시하십시오. 자세한 내용은 http://stackoverflow.com/help/how-to-ask를 참조하십시오. –
http://stackoverflow.com/a/42815884/2855515 – brian