Open ydqsbfsyi opened 7 months ago
- 一般行情数据是不需要API验证的
- okx_candle这个库已经作废了,关于K线的服务功能已经合并到了okx中
- 不建议使用proxies,如果大陆用户建议使用proxy_host,这样更安全也更稳定
谢谢解答
目前okx库中,我并未封装ws的功能,但如果你想使用实时的最新K线,可以参看里面的CandleServer,例子在examples中的[4.3 APP K线服务 维护实时历史K线.ipynb]。
目前okx库中,我并未封装ws的功能,但如果你想使用实时的最新K线,可以参看里面的CandleServer,例子在examples中的[4.3 APP K线服务 维护实时历史K线.ipynb]。
多谢,学习一下。目前学会了不用okx相关的库,直接ws连接。你这个更方便更多用途
报错是因为OkxSWAP在实例化的时候会自动改变双向持仓,这个报错没有关系,因为并未填写秘钥。 如果不想使用SWAP的全部功能,可以单独示例化MarketSWAP
marketSWAP = MarketSWAP( key="", secret="", passphrase="",
proxies={'http': 'http://127.0.0.1:7081', 'https': 'http://127.0.0.1:7081'},
# 转发:需搭建转发服务器,可参考:https://github.com/pyted/okx_resender
proxy_host=None,
) get_history_candle_latest = marketSWAP.get_history_candle_latest( instId='ETH-USDT-SWAP', length=3, bar='5m' ) get_history_candle_latest
使用okx,不要使用okx_candle这个库,因为okx_candle已经不再维护了。
以下是一个使用例子:
from okx.app.candle_server import CandleRule, CandleServer
class MyCandleRule(CandleRule):
# 收集的产品 all表示全部正在交易的产品
INSTIDS = 'all'
# candle_map 缓存K线数据长度
LENGTH = 100
# 时间颗粒度
BAR = '5m'
# 每日下载昨日历史K线数据的时刻 格式:%H:%M:%S None表示不下载
DOWNLOAD_TIME = None # 如果你维护的实时K线长度不足以包含一整天,应该关闭DOWNLOAD_TIME功能
# candle_map 保存缓存文件时间间隔(秒) None:不保存缓存
CACHE_DELAY_SECONDS = None
# 服务启动 需维护本地多少天的历史K线数据
LOCAL_CANDLE_DAYS: int = 1
# 每日下载昨日历史K线数据的时刻 格式:%H:%M:%S None表示不下载
# 币币交易:SPOT;永续合约:SWAP;交割合约:FUTURES;期权:OPTION
instType = 'SWAP'
# 永续合约,默认规则
candleServer = CandleServer(
instType=instType,
rule=MyCandleRule,
# 使用http和https代理,proxies={'http':'xxxxx','https:':'xxxxx'},通requests中的proxies参数规则相同
proxies={},
# 转发:需搭建转发服务器,可参考:https://github.com/pyted/okx_resender
# proxy_host=None,
proxy_host='http://101.32.44.77:99'
)
# 启动K线维护服务
# 同步到堵塞到数据初始化完成,异步维护candle_map
candleServer.run_candle_map()
# 被异步维护的candle_map字典
# 允许K线的最新时间与当前时间相差security_seconds,否则会返回空数据
candle = candleServer.get_candle_security('BTC-USD-SWAP', security_seconds=60 * 5)
报错是因为OkxSWAP在实例化的时候会自动改变双向持仓,这个报错没有关系,因为并未填写秘钥。 如果不想使用SWAP的全部功能,可以单独示例化MarketSWAP
marketSWAP = MarketSWAP( key="", secret="", passphrase="", # 使用http和https代理,proxies={'http':'xxxxx','https:':'xxxxx'},通requests中的proxies参数规则相同 proxies={'http': 'http://127.0.0.1:7081', 'https': 'http://127.0.0.1:7081'}, # 转发:需搭建转发服务器,可参考:https://github.com/pyted/okx_resender proxy_host=None, ) get_history_candle_latest = marketSWAP.get_history_candle_latest( instId='ETH-USDT-SWAP', length=3, bar='5m' ) get_history_candle_latest
多谢
初学,看了几个教程,先开始尝试写一小段实验代码:
结果提示要填写key。我填了,又说: [FAILURE] 设置持仓方式为双向持仓失败,请手动设置:posMode="long_short_mode"
这个我还没尝试。我先问问:不是说只是读行情数据,不需要api key?
另外,我的目标是:用ws持续不断地读取所有永续合约的每个品种的5分钟k线数据,只要最新的(尚未完成的)一根k线即可,然后可能不需要保存为文件,直接判断涨幅然后根据涨幅排序。。。我用这个okx项目好,还是okx candle项目好?