[英]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.