【问题标题】:Leverage Trading with Phemex API via ccxt通过 ccxt 使用 Phemex API 进行交易
【发布时间】:2022-01-23 06:10:56
【问题描述】:

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

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

然后我通过这个 sn-p 获得了 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']

到这里为止,一切都对我有用。现在我找到了一个更改杠杆的代码 sn-p:

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}

最好的问候 丹尼尔

【问题讨论】:

    标签: python api trading ccxt


    【解决方案1】:

    你可以使用这个功能:

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

    最后你可以通过这个函数获取你的位置信息:

    phemex.fetch_positions()
    

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

    【讨论】:

    • 感谢您的回答,但它不起作用。 Phemex 没有函数 set_leverage()。结果如下:--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-6-e0ae46d928a1> in <module> ----> 1 exchange.set_leverage(10, 'BTC/USD:USD') AttributeError: 'phemex' object has no attribute 'set_leverage'我可以在上面的问题中添加可用的功能。
    • @Dani 确保您使用的是最新版本的 ccxt
    • 你太棒了。非常感谢,那是错误
    【解决方案2】:

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

    pip install ccxt --upgrade
    

    这就像一个魅力:

    phemex.set_leverage(10, 'BTC/USD:USD')
    

    【讨论】:

      猜你喜欢
      • 2021-08-12
      • 2015-05-14
      • 1970-01-01
      • 2021-08-30
      • 1970-01-01
      • 2022-06-14
      • 2015-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多