Работа с API Poloniex. Часть вторая - приватные данные

Trading API Methods

Приватные методы API позволяют выполнять те же команды, что допускается делать авторизованному трейдеру – создавать ордера, проверять баланс, выводить средства и т.п.

Полоникс запрещает вам делать больше 6 запросов к API в секунду (по факту, предупреждение мне прилетало после 8 запросов в секунду), и советует вам максимально оптимизировать код и снизить кол-во обращений. Если, все же, вам необходимо расширить этот лимит, вам стоит обратиться в службу технической поддержки https://poloniex.freshdesk.com/.

Все запросы к API отправляются через POST на адрес https://poloniex.com/tradingApi, и должны иметь заголовки:

  • Key - Ваш ключ API (не секретный).
  • Sign – То, что отправляется постом, подписывается ключом API-Secret по методу HMAC-SHA512. (Код, приведенный в начале, умеет делать это, можете использовать его в работе или как пример).

Так же все запросы должны включать параметр nonce – это число, которое должно увеличиваться с каждым запросом к API. Все ответы возвращаются в формате JSON, в случае возникновения ошибки возвращается такая структура:

{"error":"Текст ошибки"}

Для того, что бы вызвать тот или иной метод API, передавайте в POST параметр command с названием метода.


Реклама


Торговля (Exchange)

returnBalances

Возвращает ваш баланс по каждой монете. Пример ответа

{
  "BTC": "0.59098578",
  "LTC": "3.31117268"
}

Для программного получения используйте код (как его использовать, смотрите первую часть статьи) :

from poloniex_api import Poloniex

my_polo = Poloniex(
    API_KEY = 'GKJ…,
    API_SECRET = '6b9d…'
)

balances = my_polo.returnBalances()

for balance in balances:
    print(balance, balances[balance])

returnCompleteBalances

Возвращает все информацию по счетам – не только деньги на балансе, но и деньги в ордерах, оценочная стоимость монет. По умолчанию возвращает информацию по кошельку exchange, если вам нужна так же информация по маржинальному кошельку и лендингу добавьте параметр account=all.

Пример кода (вывести все непустые балансы):

from poloniex_api import Poloniex

my_polo = Pol
    API_KEY = 'GKJ…',
    API_SECRET = '6b9d…'
)

balances = my_polo.returnCompleteBalances(account="all")

for balance in balances:
    if float(balances[balance]['available']) or float(balances[balance]['onOrders']) or float(balances[balance]['btcValue']):
        print(balance,
            """
                Доступно: {available},
                В ордерах: {onOrders},
                Оценочная стоимость (BTC): {btcValue}
            """.format(
                available = balances[balance]['available'],
                onOrders = balances[balance]['onOrders'],
                btcValue = balances[balance]['btcValue'],
           )
        )

returnDepositAddresses

Возвращает все полученные вами адреса для пополнения счета. Например

{
  "BTC": "19YqztHmspv2egyD6jQM3yn81x5t5krVdJ",
  "LTC": "LPgf9kjv9H1Vuh4XSaKhzBe8JHdou1WgUB",
  "ITC": "Press Generate.."
}

Пример кода для получения:

from poloniex_api import Poloniex

my_polo = Poloniex(
    API_KEY = 'GKJ…',
    API_SECRET = '6b9d….'
)

addresses = my_polo.returnDepositAddresses()
print(addresses)

 

generateNewAddress

Позволяет получить новый адрес для депозита для указанной валюты – параметр currency. Например, получим адрес для BCH:

from poloniex_api import Poloniex

my_polo = Poloniex(
    API_KEY = 'GKJ…',
    API_SECRET = '6b9d….'
)

new_address = my_polo.generateNewAddress(currency='BCH')
print(new_address)

Возвращает адрес в поле response:

returnDepositsWithdrawals

Возвращает историю выводов и пополнений баланса за указанный период – параметры start и end в формате UNIX.

Возвращает словарь примерно такого вида:

{
  "deposits": [
    {
      "currency": "BTC",
      "address": "...",
      "amount": "0.01006132",
      "confirmations": 10,
      "txid": "17f819a91369a9ff6c4a34216d434597cfc1b4a3d0489b46bd6f924137a47701",
      "timestamp": 1399305798,
      "status": "COMPLETE"
    },
    {
      "currency": "BTC",
      "address": "...",
      "amount": "0.00404104",
      "confirmations": 10,
      "txid": "7acb90965b252e55a894b535ef0b0b65f45821f2899e4a379d3e43799604695c",
      "timestamp": 1399245916,
      "status": "COMPLETE"
    }
  ],
  "withdrawals": [
    {
      "withdrawalNumber": 134933,
      "currency": "BTC",
      "address": "1N2i5n8DwTGzUq2Vmn9TUL8J1vdr1XBDFg",
      "amount": "5.00010000",
      "timestamp": 1399267904,
      "status": "COMPLETE: 36e483efa6aff9fd53a235177579d98451c4eb237c210e66cd2b9a2d4a988f8e",
      "ipAddress": "..."
    }
  ]
}

deposits – пополнения, withdrawals – выводы. Внутри каждого из них массивы с операциями, отсортированные по убыванию.

Пример кода (операции за месяц)

from poloniex_api import Poloniex

my_polo = Poloniex(
                API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)


import time
end_time = int(time.time()) # время окончания - текущее
start_time = int(end_time - 60 * 60 * 24 * 31) # время начала - месяц

my_lending_history = my_polo.returnLendingHistory(start=start_time, end=end_time)
print(my_lending_history)

returnOpenOrders

Возвращает список открытых ВАМИ ордеров – т.е. то, еще не исполнено до конца. Принимает параметр currencyPair, где можно указать либо пару (например, BTC_XCP), либо слово all – для отображения ордеров по всем парам. При разных параметрах вывод различается:

Вывод для одной пары:

[
  {
    "orderNumber": "120466",
    "type": "sell",
    "rate": "0.025",
    "amount": "100",
    "total": "2.5"
  },
  {
    "orderNumber": "120467",
    "type": "sell",
    "rate": "0.04",
    "amount": "100",
    "total": "4"
  },
  {
    "orderNumber": "..."
  }
]

Вывод для нескольких пар:

{
  "BTC_1CR": [],
  "BTC_AC": [
    {
      "orderNumber": "120466",
      "type": "sell",
      "rate": "0.025",
      "amount": "100",
      "total": "2.5"
    },
    {
      "orderNumber": "120467",
      "type": "sell",
      "rate": "0.04",
      "amount": "100",
      "total": "4"
    }
  ],
  "BTC_XRP": "..."
}

Соответственно, поля –

orderNumber – ID ордера,

type – либо buy, либо sell

amount – количество монет (квотируемая валюта),

total – кол-во базовой валюты

Пример кода (получить все открытые ордера по всем парам):

from poloniex_api import Poloniex

my_polo = Poloniex(
    API_KEY = 'GKJ…',
    API_SECRET = '6b9d….'
)

open_orders = my_polo.returnOpenOrders(currencyPair="all")
print(open_orders)

returnTradeHistory

Возвращает историю торгов по указанной паре (нужно указать параметр currencyPair). Так же можно указать all вместо названия пары что бы получить историю торгов по всем парам. Так же можно дополнительно указать параметры start и end в формате UNIX, что бы выбрать сделки за указанный период (период не должен превышать месяц). Если параметры start и end не указаны, возвращаются сделки за один день. Так же можно указать параметр limit, что бы ограничить или увеличить количество записей. Если параметр limit не указан, то возвращается максимум 500 сделок. Максимальное значение параметра limit – 10000.

Возвращемые данные:

Если указана пара:

[
  {
    "globalTradeID": 25129732,
    "tradeID": "6325758",
    "date": "2016-04-05 08:08:40",
    "rate": "0.02565498",
    "amount": "0.10000000",
    "total": "0.00256549",
    "fee": "0.00200000",
    "orderNumber": "34225313575",
    "type": "sell",
    "category": "exchange"
  },
  {
    "globalTradeID": 25129628,
    "tradeID": "6325741",
    "date": "2016-04-05 08:07:55",
    "rate": "0.02565499",
    "amount": "0.10000000",
    "total": "0.00256549",
    "fee": "0.00200000",
    "orderNumber": "34225195693",
    "type": "buy",
    "category": "exchange"
  },
  {
    "...": "..."
  }
]

Если указано all:

{
  "BTC_MAID": [
    {
      "globalTradeID": 29251512,
      "tradeID": "1385888",
      "date": "2016-05-03 01:29:55",
      "rate": "0.00014243",
      "amount": "353.74692925",
      "total": "0.05038417",
      "fee": "0.00200000",
      "orderNumber": "12603322113",
      "type": "buy",
      "category": "settlement"
    },
    {
      "globalTradeID": 29251511,
      "tradeID": "1385887",
      "date": "2016-05-03 01:29:55",
      "rate": "0.00014111",
      "amount": "311.24262497",
      "total": "0.04391944",
      "fee": "0.00200000",
      "orderNumber": "12603319116",
      "type": "sell",
      "category": "marginTrade"
    },
    "..."
  ],
  "BTC_LTC": []
}

Поля:

globalTradeID, tradeID – ID сделки внутри Полоникса,

date – дата исполнения,

rate – курс,

amount – количество квотируемой валюты,

total – количество базовой,

fee – комиссия (0.002 = 0.2%)

orderNumber – в рамках какого ордера была создана и исполнена,

type – тип сделки (buy или sell),

category – “exchange|marginTrade|lending”

Пример кода (получить историю по всем торгам по всем парам за месяц, максимум 100 записей):

from poloniex_api import Poloniex

my_polo = Poloniex(
    API_KEY = 'GKJ…',
    API_SECRET = '6b9d….'
)

import time
end_time = int(time.time()) # время окончания - текущее
start_time = int(end_time - 60 * 60 * 24 *31) # время начала минус месяц

trades_history = my_polo.returnTradeHistory(currencyPair="all", start=start_time, end=end_time, limit=100)
print(trades_history)

returnOrderTrades

Получить историю торгов по отдельно взятому ордеру (параметр orderNumber). Если не было торгов или ордер был выставлен кем-то другим, вернется ошибка.

Пример возвращаемых данных:

[
  {
    "globalTradeID": 20825863,
    "tradeID": 147142,
    "currencyPair": "BTC_XVC",
    "type": "buy",
    "rate": "0.00018500",
    "amount": "455.34206390",
    "total": "0.08423828",
    "fee": "0.00200000",
    "date": "2016-03-14 01:04:36"
  },
  {
    "globalTradeID": "..."
  }
]

Поля такие же, как в истории сделок (метод returnTradeHistory, см. выше).

Пример кода:

from poloniex_api import Poloniex

my_polo = Poloniex(
    API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)
order_trades = my_polo.returnOrderTrades(orderNumber=123123)
print(order_trades)

buy

Создание отложенного ордера на покупку. Необходимые параметры currencyPair, rate и amount. В случае успешного выставления вернет номер созданного ордера:

{
  "orderNumber": 31226040,
  "resultingTrades": [
    {
      "amount": "338.8732",
      "date": "2014-10-18 23:03:21",
      "rate": "0.00000173",
      "total": "0.00058625",
      "tradeID": "16164",
      "type": "buy"
    }
  ]
}

Так же можно дополнительно указать параметры fillOrKill = 1, immediateOrCancel=1, postOnly = 1.

Ордер, созданный с параметром fillOrKill будет либо полностью исполнен, либо полностью отменен.

Ордер, созданный с параметром immediateOrCancel может быть исполнен полностью или частично, но те части, что не удастся исполнить немедленно, будут отменены.

Ордер, созданный с параметром postOnly будет выставлен только в том случае, если никакая его часть не будет исполнена немедленно – таким образом, вы никогда не будете платить комиссию тейкера.

Пример кода (купить 33 ETH по курсу 0.1):

from poloniex_api import Poloniex
my_polo = Poloniex(
    API_KEY = 'GKJ...',
    API_SECRET = '6b9d...'
)
new_order = my_polo.buy(currencyPair='BTC_ETH', rate=0.1, amount=33)
print(new_order)

(не хватило денег :))

Sell

Создать ордер на продажу. Все поля и параметры идентичны методу buy.

cancelOrder

Отменить ордер (отменятся все неисполненые части). Принимает параметр orderNumber. В случае успеха вернет

{
  "success": 1
}

 Пример кода:

from poloniex_api import Poloniex

my_polo = Poloniex(
      API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)

cancel = my_polo.cancelOrder(orderNumber=123123)
print(cancel)

moveOrder

Отменяет ордер и создает вместо него ордер того же типа в единой атомарной транзакции (это значит, что либо обе операции будут выполнены успешно, либо ни одна не выполнится). Необходимые параметры orderNumber и rate. Так же можно указать параметр amount, если желаете изменить объем ордера. Опционально можно указать параметры postOnly и immediateOrCancel (см. метод buy выше), они будут работать везде, кроме маржинальных ордеров.

В случае успеха возвращается номер свежесозданного ордера (и торги, если уже есть):

{
  "success": 1,
  "orderNumber": "239574176",
  "resultingTrades": {
    "BTC_BTS": []
  }
}

Пример кода (отменить ордер и создать новый по курсу 0.5):

from poloniex_api import Poloniex

my_polo = Poloniex(
      API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)

cancel = my_polo.moveOrder(orderNumber=123123, rate=0.5)
print(cancel)

Реклама


Финансы

withdraw

Немедленно выставляется задание на вывод указанной валюты, без подтверждения по email. Для того, что бы использовать этот метод, необходимо подключить привилегию в настройках API ключа. Необходимые параметры: currency, amount и address. Для вывода XMR вы также можете указать paymentId.

Пример ответа:

{
  "response": "Withdrew 2398 NXT."
}

Пример кода (вывести 10 DASH на указанный адрес):

from poloniex_api import Poloniex

my_polo = Poloniex(
    API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)

wd = my_polo.withdraw(currency='DASH', amount=10, address="12asd32131")
print(wd)

returnFeeInfo

Информация по комиссиям тейкера и мейкера вашего аккаунта – обновляется раз в 24 часа. Так же возвращает объем ваших торгов за 30 дней. Пример ответа:

{
  "makerFee": "0.00140000",
  "takerFee": "0.00240000",
  "thirtyDayVolume": "612.00248891",
  "nextTier": "1200.00000000"
}

makerFee, makerFee – комиссии,

thirtyDayVolume – объем торгов за 30 дней,

nextTier – какой нужен объем что бы попасть на следующий уровень.

Пример кода:

from poloniex_api import Poloniex

my_polo = Poloniex(
    API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)

fee_info = my_polo.returnFeeInfo()
print(fee_info)

returnAvailableAccountBalances

Возвращает ваш баланс по каждой монете в разбивке по счетам (торговый, маржинальный, лендинг). Так же вы можете указать параметр account что бы возвращался только нужный. Так же обратите внимание, что если у вас есть открытые позиции по маржинальным торгам, то информация по маржинальному счету будет недоступна.

Пример ответа:

{
  "exchange": {
    "BTC": "1.19042859",
    "BTM": "386.52379392",
    "CHA": "0.50000000",
    "DASH": "120.00000000",
    "STR": "3205.32958001",
    "VNL": "9673.22570147"
  },
  "margin": {
    "BTC": "3.90015637",
    "DASH": "250.00238240",
    "XMR": "497.12028113"
  },
  "lending": {
    "DASH": "0.01174765",
    "LTC": "11.99936230"
  }
}

Пример кода:

from poloniex_api import Poloniex
my_polo = Poloniex(
    API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)
av_balance_info = my_polo.returnAvailableAccountBalances()
print(av_balance_info)

returnTradableBalances

Возвращает баланс по монетам, доступных для маржинальной торговли. Обратите внимание, что суммы могут меняться в зависимости от рынка.

Пример ответа:

{
  "BTC_DASH": {
    "BTC": "8.50274777",
    "DASH": "654.05752077"
  },
  "BTC_LTC": {
    "BTC": "8.50274777",
    "LTC": "1214.67825290"
  },
  "BTC_XMR": {
    "BTC": "8.50274777",
    "XMR": "3696.84685650"
  }
}

Пример кода:

from poloniex_api import Poloniex

my_polo = Poloniex(
    API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)

tr_balance_info = my_polo.returnTradableBalances()
print(tr_balance_info)

transferBalance

Перевод средств с одного счета на другой (например, с exchange на маржинальный). Необходимые параметры currency, amount, fromAccount, toAccount.

Пример ответа:

{
  "success": 1,
  "message": "Transferred 2 BTC from exchange to margin account."
}

Пример кода (перевести 3 BTC с торгового счета на маржинальный):

from poloniex_api import Poloniex

my_polo = Poloniex(
    API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)

transfer = my_polo.transferBalance(
    currency="BTC",
    amount=3,
    fromAccount="exchange",
    toAccount="margin"
    )
print(transfer)

returnMarginAccountSummary

Возвращает общую сумму на маржинальном счете. Это та же информация, что вы видите в поле Margin Account в разделе Margin Trading, под списком торговых пар.

Пример ответа:

{
  "totalValue": "0.00346561",
  "pl": "-0.00001220",
  "lendingFees": "0.00000000",
  "netValue": "0.00345341",
  "totalBorrowedValue": "0.00123220",
  "currentMargin": "2.80263755"
}
  • totalValue: Общее количество BTC по всем валютам на вашем маржинальном счете. pl: Примерная сумма дохода или потерь при закрытии сразу всех открытых позиций по курсу рынка и за вычетом возврата процентов кредиторам.
  • lendingFees: Примерная сумма процентов за использование средств кредиторов.
  • netValue: Сумма Total Margin Value, Unrealized P/L, и Unrealized Lending Fees. Это значение характеризует, какую сумму вы можете обеспечить.
  • totalBorrowedValue: Общая сумма займов (в BTC). Тут отображается сумма, которую вы уже заняли, а так же сумма, которую необходимо занять, что бы выкупить всю валюту, которая находится в вашей текущей книге ордеров. Это значение может меняться вместе с изменениями рынка.
  • currentMargin Margin: Текущее отношение (процент) Net Value к Total Borrowed Value.

Подробнее читайте тут: https://bablofil.ru/poloniex-margin-trading/

Пример кода:

from poloniex_api import Poloniex

my_polo = Poloniex(
    API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)

ma_summary = my_polo.returnMarginAccountSummary()
print(ma_summary)

Реклама


Маржинальная торговля

marginBuy

Выставляет маржинальный ордер на покупку по выбранной паре. Необходимые параметры currencyPair, rate и amount. Так же опционально можно указать параметр lendingRate, что бы ограничить максимальный курс займа. В случае успеха, возвращается номер ордера и торги по нему. Пример ответа:

{
  "success": 1,
  "message": "Margin order placed.",
  "orderNumber": "154407998",
  "resultingTrades": {
    "BTC_DASH": [
      {
        "amount": "1.00000000",
        "date": "2015-05-10 22:47:05",
        "rate": "0.01383692",
        "total": "0.01383692",
        "tradeID": "1213556",
        "type": "buy"
      }
    ]
  }
}

Пример кода (купить 4 эфира по курсу 0.4 с привлечением заемных средств)

from poloniex_api import Poloniex

my_polo = Poloniex(
    API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)

m_order = my_polo.marginBuy(
    currencyPair='BTC_ETH',
    rate=0.4,
    amount=4
)
print(m_order)

marginSell

Выставить маржинальный ордер на продажу, параметры те же, что и для  marginBuy

getMarginPosition

Возвращает информацию по всем открытым маржинальным позициям по указанной паре (параметр currencyPair). В качестве пары можно указать all, тогда вернется информация по всем парам.

Пример ответа:

{
  "amount": "40.94717831",
  "total": "-0.09671314",
  "basePrice": "0.00236190",
  "liquidationPrice": -1,
  "pl": "-0.00058655",
  "lendingFees": "-0.00000038",
  "type": "long"
}

Если у вас нет открытых позиций, возвращаемое поле type будет установлено в "none". "liquidationPrice" является оценочным полем, и не отражает итогового значения, когда событие возникнет. Если цена принудительного завершения не установлена, вернется -1.

Пример кода (получить позиции по BTC_ETH):

from poloniex_api import Poloniex

my_polo = Poloniex(
   API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)

pos_info = my_polo.getMarginPosition(
    currencyPair='BTC_ETH'
)
print(pos_info)

closeMarginPosition

Закрывает открытую позицию по указанной паре (параметр currencyPair) по рыночной цене. Обратите внимание, что метод вернет успех и в том случае, если у вас нет открытых позиций.

Пример ответа:

{
  "success": 1,
  "message": "Successfully closed margin position.",
  "resultingTrades": {
    "BTC_XMR": [
      {
        "amount": "7.09215901",
        "date": "2015-05-10 22:38:49",
        "rate": "0.00235337",
        "total": "0.01669047",
        "tradeID": "1213346",
        "type": "sell"
      },
      {
        "amount": "24.00289920",
        "date": "2015-05-10 22:38:49",
        "rate": "0.00235321",
        "total": "0.05648386",
        "tradeID": "1213347",
        "type": "sell"
      }
    ]
  }
}

Пример кода:

 

from poloniex_api import Poloniex

my_polo = Poloniex(
API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)

pos_info = my_polo.closeMarginPosition(
    currencyPair='BTC_ETH'
)
print(pos_info)

Реклама


Lending

createLoanOffer

Создает предложение по займу по выбранной паре. Необходимые параметры currency, amount, duration, autoRenew и lendingRate.

Пример ответа:

{
  "success": 1,
  "message": "Loan order placed.",
  "orderID": 10590
}

Пример кода (Предлагаю кому-нибудь занять у меня 10 ETH на два дня, под 0.02%, не продлевать):

from poloniex_api import Poloniex

my_polo = Poloniex(
    API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)

pos_info = my_polo.createLoanOffer(
    currency='ETH',
    amount=10,
    duration=2,
    autoRenew=0,
    lendingRate=0.02
)
print(pos_info)

cancelLoanOffer

Отменяет выставленное предложение (параметр orderNumber принимает ID предложения).

Пример ответа:

{
  "success": 1,
  "message": "Loan offer canceled."
}

Пример кода:

 

from poloniex_api import Poloniex

my_polo = Poloniex(
        API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)

cancel = my_polo.cancelLoanOffer(
    orderNumber=123123123
)
print(cancel)

returnOpenLoanOffers

Возвращает открытые (вами) предложения по всем парам. Пример ответа:

{
  "BTC": [
    {
      "id": 10595,
      "rate": "0.00020000",
      "amount": "3.00000000",
      "duration": 2,
      "autoRenew": 1,
      "date": "2015-05-10 23:33:50"
    }
  ],
  "LTC": [
    {
      "id": 10598,
      "rate": "0.00002100",
      "amount": "10.00000000",
      "duration": 2,
      "autoRenew": 1,
      "date": "2015-05-10 23:34:35"
    }
  ]
}

Пример кода:

from poloniex_api import Poloniex

my_polo = Poloniex(
            API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)

my_open_offers = my_polo.returnOpenLoanOffers()
print(my_open_offers)

returnActiveLoans

Возвращает информацию по вашим одалживаниям. Пример ответа:

{
  "provided": [
    {
      "id": 75073,
      "currency": "LTC",
      "rate": "0.00020000",
      "amount": "0.72234880",
      "range": 2,
      "autoRenew": 0,
      "date": "2015-05-10 23:45:05",
      "fees": "0.00006000"
    },
    {
      "id": 74961,
      "currency": "LTC",
      "rate": "0.00002000",
      "amount": "4.43860711",
      "range": 2,
      "autoRenew": 0,
      "date": "2015-05-10 23:45:05",
      "fees": "0.00006000"
    }
  ],
  "used": [
    {
      "id": 75238,
      "currency": "BTC",
      "rate": "0.00020000",
      "amount": "0.04843834",
      "range": 2,
      "date": "2015-05-10 23:51:12",
      "fees": "-0.00000001"
    }
  ]
}

Пример кода:

from poloniex_api import Poloniex

my_polo = Poloniex(
                API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)
my_active_loans = my_polo.returnActiveLoans()
print(my_active_loans)

returnLendingHistory

Возвращает историю займов за указанный период времени (параметры start и end в UNIX time). Так же можно указать параметр limit для указания числа возвращаемых строк. Пример ответа:

[
  {
    "id": 175589553,
    "currency": "BTC",
    "rate": "0.00057400",
    "amount": "0.04374404",
    "duration": "0.47610000",
    "interest": "0.00001196",
    "fee": "-0.00000179",
    "earned": "0.00001017",
    "open": "2016-09-28 06:47:26",
    "close": "2016-09-28 18:13:03"
  }
]

Пример кода (история за месяц):

from poloniex_api import Poloniex

my_polo = Poloniex(
                API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)


import time
end_time = int(time.time()) # время окончания - текущее
start_time = int(end_time - 60 * 60 * 24 * 31) # время начала - месяц

my_lending_history = my_polo.returnLendingHistory(start=start_time, end=end_time)
print(my_lending_history)

toggleAutoRenew

Включить или выключить автоматическое продление займа, указанного в параметре orderNumber. В случае успеха, вернется новое значение autoRenew. Пример ответа:

{
  "success": 1,
  "message": 0
}

Пример кода:

from poloniex_api import Poloniex

my_polo = Poloniex(
                API_KEY = 'GKJ…',
    API_SECRET = '6b9d….
)

new_status = my_polo.toggleAutoRenew(orderNumber=123123)
print(new_status)
Категория: Программирование
Последнее изменение:

Не забудьте рассказать друзьям об этой статье.
Чтобы поддержать ресурс Bablofil достаточно просто поделиться с друзьями этой статьей в социальных сетях. Каждый репост - это самая высокая оценка качества материала. Спасибо, что читаете этот блог.



Комментарии
26.01.2018 15:53:32
подскажите, команда returnTradeHistory  выдает пустое поле, и с параметрами и лимитами и без них все время пусто.
с остальными командами вроде все ок.
Проголосовать Проголосовать
0 0
26.01.2018 16:24:29
Проверил, почему-то перестало выдавать историю торгов с параметром all (может быть убрали для оптимизации нагрузки?).
Поставил BTC_LTC, и сократил время до часа, вот так

end_time = int(time.time()) # время окончания - текущее
start_time = int(end_time - 60 * 60 *1) # время начала минус месяц

trades_history = my_polo.returnTradeHistory(currencyPair="BTC_LTC", start=start_time, end=end_time, limit=100)
print(trades_history)

результат вернулся
Проголосовать Проголосовать
0 0
11.05.2018 10:01:51
Андрей К. cпасибо, очень полезнаю информация.
Прписал так как Вы указали в комментарии выше, действительно returnTradeHistory стал выдавать инфу.
Только я не понимаю, почему нет информации по orderNumber
И хотелось бы что-бы returnTradeHistory вытягивал только мои ордера

Не подскажите, в чем проблема?
Проголосовать Проголосовать
0 0
12.05.2018 16:11:00
Да, недоработка (

Дело в том, что у полоникса два метода returnTradeHistory, один публичный с чужими данными, другой приватный только с вашими
Что бы это учесть нужно будет код переделывать, ну а пока что вы можете убрать метод из списка публичных и тогда будут возвращаться только ваши торги с orderNumber 

public_methods = [
                'returnTicker',
                'return24hVolume',
                'returnOrderBook',
                # 'returnTradeHistory',
                'returnChartData',
                'returnCurrencies',
                'returnLoanOrders'
    ]
Проголосовать Проголосовать
0 0
14.05.2018 07:09:07
Андрей К.

Спасибо все заработало)
Проголосовать Проголосовать
0 0
Пожалуйста, авторизуйтесь, что бы оставить свой комментарий
Крипто-кошельки для помощи и благодарности проекту:

Bitcoin адрес проекта: [[address]]

Перевод на сумму [[value]] BTC получен. Спасибо!.
[[error]]

Ethereum адрес проекта: [[address]]