#!/usr/bin/env python
# -*- coding: utf-8 -*-
from ibapi.client import EClient
from ibapi.wrapper import EWrapper
# types
from ibapi.common import *
from ibapi.order_condition import *
from ibapi.contract import *
from ibapi.order import *
from ibapi.order_state import *
from ibapi.execution import Execution
from ibapi.execution import ExecutionFilter
from ibapi.commission_report import CommissionReport
from ibapi.scanner import ScannerSubscription
from ibapi.ticktype import *
from ibapi.account_summary_tags import *
import datetime
class MyWrapper(EWrapper):
def historicalData(self, reqId: TickerId, date: str, open: float, high: float,
low: float, close: float, volume: int, barCount: int,
WAP: float, hasGaps: int):
super().historicalData(reqId, date, open, high, low, close, volume,
barCount, WAP, hasGaps)
print("HistoricalData. ", reqId, " Date:", date, "Open:", open,
"High:", high, "Low:", low, "Close:", close, "Volume:", volume,
"Count:", barCount, "WAP:", WAP, "HasGaps:", hasGaps)
def contractDetails(self, reqId, contractDetails):
super().contractDetails(reqId, contractDetails)
print("ContractDetails. ReqId:", reqId,
contractDetails.summary.symbol,
contractDetails.summary.secType,
"ConId:", contractDetails.summary.conId,
"@", contractDetails.summary.exchange)
def contractDetailsEnd(self, reqId):
super().contractDetailsEnd(reqId)
print("ContractDetailsEnd. ", reqId, "\n")
def tickPrice(self, reqId, tickType, price, attrib):
super().tickPrice(reqId, tickType, price, attrib)
print("Tick Price. Ticker Id:", reqId, "tickType:", tickType, "Price:",
price, "CanAutoExecute:", attrib.canAutoExecute,
"PastLimit", attrib.pastLimit)
def tickSnapshotEnd(self, reqId):
super().tickSnapshotEnd(reqId)
print("TickSnapshotEnd:", reqId)
wrapper = MyWrapper()
app = EClient(wrapper)
app.connect("127.0.0.1", 7497, clientId=0)
print("serverVersion:%s connectionTime:%s" % (app.serverVersion(), app.twsConnectionTime()))
from ibapi.contract import Contract
contract = Contract()
contract.symbol = "XAUUSD"
contract.secType = "CMDTY"
contract.exchange = "SMART"
contract.currency = "USD"
queryTime = datetime.datetime.today().strftime("%Y%m%d %H:%M:%S")
# String queryTime = DateTime.Now.AddMonths(-6).ToString("yyyyMMdd HH:mm:ss")
app.reqHistoricalData(1, contract, queryTime, "1 M", "1 day", "MIDPOINT", 1, 1, [])
app.run()
if __name__ == '__main__':
pass
用来学习 ibkr 的 python api.zip
需积分: 5 191 浏览量
2024-02-24
21:18:25
上传
评论
收藏 3KB ZIP 举报
![avatar](https://profile-avatar.csdnimg.cn/7b22c422c2df41c9aa22ff208e9cb96d_qyj19920704.jpg!1)
![avatar-vip](https://csdnimg.cn/release/downloadcmsfe/public/img/user-vip.1c89f3c5.png)
Kwan的解忧杂货铺
- 粉丝: 2w+
- 资源: 3699
最新资源
- Linux常用命令及用法说明
- 基于Matlab的FFT频谱分析及IIR数字滤波器设计
- AutoCAD高压低压电气开关柜设备接线图图纸
- AutoCAD电气图纸建筑电气开关柜常用cad图纸
- 使用ASP.NET Core和Entity Framework Core来构建一个基本的进销存系统.rar
- 深度学习经典数据集+FER2013面部表情识别+附带使用方法的python代码
- Python中,要实现连接多个相机并识别多个二维码.rar
- 使用FFT算法对一个信号进行分析.rar
- 171cms游戏应用下载系统源码.zip
- 基于jsp+servlet+mysql蛋糕甜品店购物网站源码+数据库(期末大作业).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)