簡體   English   中英

如何使用 Binance API 和 Python-CCXT 下百分比訂單?

[英]How to place percentage orders with Binance API and Python-CCXT?

我正在使用 Binance API 來使用 Python 3.6 制作我的交易機器人。 CCXT 庫(在這里您可以找到文檔)。

他們在他們的網站上擁有的一項非常有用的功能是能夠以當前余額的一定比例下訂單:

例如,如果我正在查看BTC/USDT加密貨幣對,並且我的賬戶中有50 USDT ,我可以選擇購買N數量的BTC或使用我賬戶的100%USDT進行購買,因此購買的最大數量為BTC我可以。

我多次閱讀文檔,但我找不到以任何方式使用 API 執行這些“余額百分比”訂單的選項:我唯一能做的就是將float傳遞給訂單函數。 這就是我現在下訂單的方式:

amount = 0.001
symbol = "BTC/USDT"

def buyorder(amount, symbol): # this makes a market order taking in the amount I defined before, for the pair defined by "symbol"

    type = 'market'  # or 'limit'
    side = 'buy'     # or 'sell'
    params = {}      # extra params and overrides if needed
    order = exchange.create_order(symbol, type, side, amount, params)

有誰知道是否有執行百分比訂單的內置功能? 如果 API 無法這樣做,您會建議一些解決方法嗎?

我希望能夠將我當前余額的百分比作為amount提供給 API,這樣我就可以隨時使用它的全部內容,而無需在費用減少時進行更新

使用這樣的自定義函數:

 def get_max_position_available():
    to_use = float(exchange.fetch_balance().get('USDT').get('free'))
    price = float(exchange.fetchTicker('BTC/USDT').get('last'))
    decide_position_to_use = to_use / price
    return decide_position_to_use

我不知道有任何幣安 API 函數可以做到這一點,但您可以嘗試這樣的操作:

# You ask for the balance
balance= client.get_asset_balance(asset='USDT')

# set the percentage or fraction you want to invest in each order
portion_balance = float(balance['free']) * 0.35

# you assign the created variable in the quantity of your order
sell_market = client.order_market_sell(
    symbol= 'ETHUSDT',
    quantity= portion_balance)

你好 ;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM