Ccxt OKEx размещает заказы

Я разместил DEMO-ордер на OKEx с суммой 246 и ценой 0,46. Когда я смотрел на сайте, сумма заказа была больше 11k:Ccxt OKEx размещает заказы

Я получил информацию о заказе:

{'info': {'accFillSz': '0', 'avgPx': '', 'cTime': '1652262833825', 'category': 'normal', 'ccy': '', 'clOrdId': 'e847386590ce4dBCc812b22b16d7807c', 'fee': '0', 'feeCcy': 'USDT', 'fillPx': '', 'fillSz': '0', 'fillTime': '', 'instId': 'XRP-USDT-SWAP', 'instType': 'SWAP', 'lever': '1', 'ordId': '444557778278035458', 'ordType': 'limit', 'pnl': '0', 'posSide': 'long', 'px': '0.45693', 'rebate': '0', 'rebateCcy': 'USDT', 'side': 'buy', 'slOrdPx': '-1', 'slTriggerPx': '0.44779', 'slTriggerPxType': 'mark', 'source': '', 'state': 'live', 'sz': '246', 'tag': '', 'tdMode': 'isolated', 'tgtCcy': '', 'tpOrdPx': '-1', 'tpTriggerPx': '0.46606', 'tpTriggerPxType': 'mark', 'tradeId': '', 'uTime': '1652262833825'}, 'id': '444557778278035458', 'clientOrderId': 'e847386590ce4dBCc812b22b16d7807c', 'timestamp': 1652262833825, 'datetime': '2022-05-11T09:53:53.825Z', 'lastTradeTimestamp': None, 'symbol': 'XRP/USDT:USDT', 'type': 'limit', 'timeInForce': None, 'postOnly': None, 'side': 'buy', 'price': 0.45693, 'stopPrice': 0.44779, 'average': None, 'cost': 0.0, 'amount': 246.0, 'filled': 0.0, 'remaining': 246.0, 'status': 'open', 'fee': {'cost': 0.0, 'currency': 'USDT'}, 'trades': [], 'fees': [{'cost': 0.0, 'currency': 'USDT'}]}

и сумма 246.

Вот мой код:

exchange = ccxt.okx(
    {
        'apiKey': API_KEY,
        'secret': API_SECRET,
        'password': API_PASSPHRASE,
        'options': {
            'defaultType': 'swap'
        },
        'headers': {
            'x-simulated-trading': '1'
        }
}

exchange.load_markets()
market = exchange.market(PAIR)
params = {
    'tdMode': 'isolated',
    'posSide': 'long',
    'instId': market['id'],
    'side': 'buy',
    'sz': 246,
    'tpOrdPx': '-1',
    'slOrdPx': '-1',
    'tpTriggerPx': str(take_profit),
    'slTriggerPx': str(stop_loss),
    'tpTriggerPxType': 'mark',
    'slTriggerPxType': 'mark',
}
order = exchange.create_order(
    f"{PAIR}", ORDER_TYPE, 'buy', summa, price, params=params)
info = exchange.fetch_order(order['id'], PAIR)
print(info)

Что я делаю неправильно?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
44
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Для начала вы можете купить только кратное 100 XRP, как вы можете видеть на скриншоте ниже, поэтому вы можете купить только 200 или 300, а не 246.

Во-вторых, похоже, что в API применяется множитель 100, где 1 = 100 XRP. Я смог вывести это, введя 24 600 XRP, что дает вам около 11 тысяч долларов, о которых вы упомянули.

В вашем случае, если вы хотите купить 200 или 300 XRP, вам нужно будет ввести 2 или 3 в качестве суммы в запросе API.

Я получил информацию о рынке (pastebin.com/rfX1uze9) Странно, почему размер контракта 100, а плечо 75

ExclMark 12.05.2022 15:13

извините, какой именно у вас вопрос? также, если мой ответ решил вашу проблему, вы можете принять его, пожалуйста?

Alex B 12.05.2022 16:18

Печально, но нет. Не решено. Я пробовал все, и результат тот же. Может быть, можно изменить умножение в маркете или что-то еще. Я не знаю...

ExclMark 12.05.2022 17:31

Я не понимаю, что именно вы пытаетесь сделать? Можете ли вы объяснить проблему, поскольку я не вижу, что это такое?

Alex B 12.05.2022 17:43

Кажется, я знаю решение. Ты прав. Я попробую и отмечу ответ, если помогло. Итак, мне нужно разделить мою сумму на размер лота, умножить на цену открытия, а затем округлить сумму.

ExclMark 13.05.2022 13:51

Другие вопросы по теме