0

我尝试在 python 中使用 phemex API 创建一个杠杆交易机器人。我是这样连接的:

exchange = ccxt.phemex({
    'apiKey': API_KEY,
    'secret': API_SECRET,
    'enableRateLimit': True,
    'verbose': True
}) 

然后我通过这个片段得到了我在 phemex 上的实际杠杆,以及我必须交易多少免费 BTC。

params={"type":"swap","code":"BTC"}
response = exchange.fetch_balance(params=params)

#leverage = response['info']['data']['positions']['leverage']
positions = response['info']['data']['positions']
res = next((sub for sub in positions if sub['leverage']), None)
leverage = res['leverage']
free_BTC = response['BTC']['free']
used_BTC = response['BTC']['used']

直到这里一切都对我有用。现在我找到了一个更改杠杆的代码片段:

exchange.load_markets()

symbol = 'BTC/USD'
market = exchange.market(symbol)
exchange.verbose = Trueparams = {
    'symbol': market['id'],
    'leverage': 10
}
response = ex.privatePutPositionsLeverage(params)
pprint(response)

但是杠杆仍然保持在旧值。有人可以帮我解决这个问题。太感谢了。


PS:这些是可用的功能:

{'loadMarkets': True, 'cancelAllOrders': True, 'cancelOrder': True, 'cancelOrders': False, 'CORS': False, 'createDepositAddress': False, 'createLimitOrder': True, 'createMarketOrder': True, 'createOrder': True, 'deposit': False, 'editOrder': 'emulated', 'fetchBalance': True, 'fetchClosedOrders': True, 'fetchCurrencies': True, 'fetchDepositAddress': True, 'fetchDeposits': True, 'fetchL2OrderBook': True, 'fetchLedger': False, 'fetchMarkets': True, 'fetchMyTrades': True, 'fetchOHLCV': True, 'fetchOpenOrders': True, 'fetchOrder': True, 'fetchOrderBook': True, 'fetchOrderBooks': False, 'fetchOrders': True, 'fetchOrderTrades': False, 'fetchStatus': 'emulated', 'fetchTicker': True, 'fetchTickers': False, 'fetchTime': False, 'fetchTrades': True, 'fetchTradingFee': False, 'fetchTradingFees': False, 'fetchFundingFee': False, 'fetchFundingFees': False, 'fetchTradingLimits': False, 'fetchTransactions': False, 'fetchWithdrawals': True, 'privateAPI': True, 'publicAPI': True, 'signIn': False, 'withdraw': False}

最好的问候丹尼尔

4

2 回答 2

1

你可以使用这个功能:

apiKeys = {}
phemex = ccxt.phemex(apiKeys)
phemex.set_leverage(10, 'BTC/USD:USD')

最后,您可以使用此功能获取您的位置信息:

phemex.fetch_positions()

如果这不起作用,请告诉我

于 2021-12-30T11:44:49.743 回答
0

首先,您需要更新您的 CCXT 版本:

pip install ccxt --upgrade

这就像一个魅力:

phemex.set_leverage(10, 'BTC/USD:USD')
于 2022-01-01T22:25:05.627 回答