8

我如何在 ccxt 中下达币安期货的市价单?使用 ccxt 进行币安期货交易已经实现

https://github.com/ccxt/ccxt/pull/5907

在这篇文章中,他们建议使用这行代码:

let binance_futures = new ccxt.binance({ options: { defaultMarket: 'futures' } })

上面的行是用 JavaScript 编写的。python中的等效行会是什么样子?像这样我得到一个错误:

binance_futures = ccxt.binance({ 'option': { defaultMarket: 'futures' } })
NameError: name 'defaultMarket' is not defined
4

5 回答 5

15

正确答案是'defaultType'( 而不是defaultMarket) 必须用引号引起来,而且值必须是'future'(not 'futures')

import ccxt
print('CCXT version:', ccxt.__version__)  # requires CCXT version > 1.20.31
exchange = ccxt.binance({
    'apiKey': 'YOUR_API_KEY',
    'secret': 'YOUR_API_SECRET',
    'enableRateLimit': True,
    'options': {
        'defaultType': 'future',  # ←-------------- quotes and 'future'
    },
})

exchange.load_markets()

# exchange.verbose = True  # uncomment this line if it doesn't work

# your code here...
于 2019-12-14T10:34:48.427 回答
4

在周围加上引号defaultMarket

binance_futures = ccxt.binance({ 'option': { 'defaultMarket': 'futures' } })
于 2019-12-14T05:04:19.743 回答
2

如果您正在寻找 Binance 的 COIN-M 期货(例如现金期货基差交易),您需要使用该delivery选项

import ccxt
import pandas as pd

binance = ccxt.binance()
binance.options = {'defaultType': 'delivery', 'adjustForTimeDifference': True}

securities = pd.DataFrame(binance.load_markets()).transpose()
securities

预期的期货:

有期限的期货


请注意,上面的代码片段按预期返回了过期的期货。但是,下面显示的另一种单线解决方案不会(它似乎默认为现货市场):

import ccxt
import pandas as pd

binance = ccxt.binance({'option': {'defaultType': 'delivery', 'adjustForTimeDifference': True}})

securities = pd.DataFrame(binance.load_markets()).transpose()
securities

返回现货市场:

现货市场

于 2021-03-27T02:53:04.630 回答
1

实例化币安交易所并将其options属性调整为{'defaultType': 'future'}

import ccxt

exchange_id = 'binance'
exchange_class = getattr(ccxt, exchange_id)
exchange = exchange_class({
    'apiKey': 'your-public-api-key',
    'secret': 'your-api-secret',
    'timeout': 30000,
    'enableRateLimit': True,
})

exchange.options = {'defaultType': 'future'}
markets = exchange.load_markets()  # Load the futures markets

for market in markets: 
    print(market)                # check for the symbol you want to trade here

# The rest of your code goes here
于 2020-02-26T12:52:07.627 回答
1

创建exchange对象的新推荐方法是:

exchange = ccxt.binanceusdm({
    'apiKey': ...,
    'secret': ...,
})

这已由 Discord 上的项目维护者 (@kroitor) 确认。

旧方法(在撰写本文时仍然有效)是:

exchange = ccxt.binance({
    'apiKey': ...,
    'secret': ...,
    'options': {
        'defaultType': 'future',
    },
})

repo 中的示例代码尚未更新(也已确认)。

于 2022-01-29T09:56:39.973 回答