Untitled
Binance APIunknown
python
3 years ago
2.1 kB
2
Indexable
x[-1] - это текущая цена монеты/фьючерса for i in client.futures_exchange_info()['symbols']: if i['symbol'] == 'BTCUDST: self.pricePrecision = i['pricePrecision'] self.quantityPrecision = i['quantityPrecision'] self.step = float(i['filters'][1]['minQty']) self.notional = float(i['filters'][5]['notional']) break # сначала находим минимальное количество, возможное для покупки, (обычно 5$) делим на текущую стоимость qq = round(self.notional/self.x[-1],True) # проверяем, соответствует ли это количество минимуму на бинансе, оно там обычно округлено в большую сторону с определенным количеством знаков после запятой, если не соответствует, приводим к соответствующему количеству quan = round(qq + self.step, True) if qq < self.notional / self.x[-1] else qq # находим нужный процент от депозита, например, найдем 20% от депозита balance = float(client.futures_account()['availableBalance']) * 0.2 # делим баланс на минимальную стоимость (а это миним. количество умноженное на стоимость) и узнаем точное число монет/фьючерсов, которое можем купить, и умножаем это число на минимальное количество, таким образом найдем искомое максимальное количество монет, которое надо купить, в зависимости от % депозита. final_quantity = round(int(balance/round(quan*self.x[-1],self.pricePrecision)) * quan,self.quantityPrecision) self.orderId = client.futures_create_order(symbol=self.tik, side='BUY', type='MARKET', quantity=final_quantity)['orderId']
Editor is loading...