Skip to navigation

Безстрокові ордени

Безстрокові ордени: Інтеграція Agent Java SDK v0.3.0, приклади, параметри та семантика відповіді.

View as Markdown

Цей посібник призначений для Agent Java SDK v0.3.0, Java 8+ і публічного контракту з тегами. Приклади виконуються в серверній частині партнера після ініціалізації client у Швидкий старт.

Приклад передумов

Фрагменти Java поділяють ці імпортовані файли. Ініціалізуйте client за допомогою швидкого запуску та отримайте platformUserId із збереженого зв’язування. Приклади ідентифікаторів користувача/замовлення потрібно замінити вашими постійними значеннями.

import com.sixmm.agent.*;
import com.sixmm.agent.model.*;
import java.util.*;

listCurrentPerpetualOrders

Модель запиту: CurrentPerpetualOrdersRequest.

import com.sixmm.agent.model.CurrentPerpetualOrdersRequest;
import com.sixmm.agent.model.PerpetualResponse;
import java.util.Collections;
CurrentPerpetualOrdersRequest request = new CurrentPerpetualOrdersRequest();
request.platformUserIds = Collections.singletonList("1188041528");
request.limit = 100;
request.orderCategory = "NORMAL";
request.symbol = "BTCUSDT";
PerpetualResponse response = client.listCurrentPerpetualOrders(request);
System.out.println(response.data.items.size());
System.out.println(response.data.hasMore);
System.out.println(response.data.nextCursor);

Поля запиту

ПолеТип Java.Обов’язковийЗначення
orderCategoryStringтакNORMAL або CONDITIONAL; умовні запити вимагають явних користувачів.
platformUserIdsjava.util.List<String>Умовний1–100 унікальних публічних ідентифікаторів; необхідні для заповнення та умовних замовлень. Пропустити підтримувані запити для області прямого гравця; [] недійсний.
symbolStringнемаєДодатковий фільтр торгових пар.
limitIntegerнемаєЗа замовчуванням 500; 1–1000.
cursorStringнемаєВикористовуйте повернутий nextCursor із незмінними фільтрами; зупинятися, коли hasMore невірно.

Приклад читає одну сторінку. Для обов’язкових полів, обсягу гравця, семантики фільтра, обмеження, курсору та обмежених повторних спроб див Огляд запиту. Зберігайте всі фільтри незмінними під час перегляду сторінок; не інтерпретуйте помилку як порожній результат.

listPerpetualOrderHistory

Модель запиту: PerpetualOrderHistoryRequest.

import com.sixmm.agent.model.PerpetualOrderHistoryRequest;
import com.sixmm.agent.model.PerpetualResponse;
import java.util.Collections;
PerpetualOrderHistoryRequest request = new PerpetualOrderHistoryRequest();
request.platformUserIds = Collections.singletonList("1188041528");
request.limit = 100;
request.orderCategory = "NORMAL";
request.symbol = "BTCUSDT";
request.endTime = System.currentTimeMillis();
request.startTime = request.endTime - 3_600_000L;
PerpetualResponse response = client.listPerpetualOrderHistory(request);
System.out.println(response.data.items.size());
System.out.println(response.data.hasMore);
System.out.println(response.data.nextCursor);

Поля запиту

ПолеТип Java.Обов’язковийЗначення
orderCategoryStringтакNORMAL або CONDITIONAL; умовні запити вимагають явних користувачів.
platformUserIdsjava.util.List<String>Умовний1–100 унікальних публічних ідентифікаторів; необхідні для заповнення та умовних замовлень. Пропустити підтримувані запити для області прямого гравця; [] недійсний.
symbolStringнемаєДодатковий фільтр торгових пар.
orderIdStringнемаєID звичайного замовлення; не номер замовлення на переказ партнера.
conditionIdStringнемаєID умовного замовлення; не змішувати з orderId.
clientOrderIdStringнемаєПосилання на замовлення торгового клієнта, а не agentOrderNo.
sideStringнемаєBUY / SELL фільтр.
statusStringнемаєСтатус ресурсу; див. посилання на статус.
startTimeLongнемаєВключно Unix мілісекунди; використовуйте фіксоване вікно історії UTC.
endTimeLongнемаєЕксклюзивні мілісекунди Unix.
limitIntegerнемаєЗа замовчуванням 500; 1–1000.
cursorStringнемаєВикористовуйте повернутий nextCursor із незмінними фільтрами; зупинятися, коли hasMore невірно.

Приклад читає одну сторінку. Для обов’язкових полів, обсягу гравця, семантики фільтра, обмеження, курсору та обмежених повторних спроб див Огляд запиту. Зберігайте всі фільтри незмінними під час перегляду сторінок; не інтерпретуйте помилку як порожній результат.

Звичайні замовлення: поточні та історія

Поточний: orders/current + orderCategory=NORMAL; Історія: orders/history + orderCategory=NORMAL.

data полетипуЗначення і сфера застосування
symbolstringТоргова пара, наприклад BTCUSDT
orderIdstringІдентифікатор звичайного замовлення платформи
orderCategorystringВиправлено NORMAL
clientOrderIdstringНомер замовлення клієнта, наданий джерелом замовлення транзакції; не те саме поле, що й переказ коштів продавця agentOrderNo
orderTypestringТип делегату, наприклад LIMIT, MARKET; фактичне перераховане значення має перевагу
sidestringНапрям купівлі та продажу BUY / SELL
statusstringСтатус звичайного замовлення, дивіться огляд запитів
timeInForcestringТермін дії/стратегія виконання угоди, наприклад GTC, IOC, FOK; інтерпретуються відповідно до фактичних значень
pricestringДовірена ціна; його можна опустити, якщо ціна не вказана, і ринкова ціна угоди не буде доповнена самостійно.
quantitystringОригінальна кількість замовлення
filledQuantitystringОбсяг транзакції
remainingQuantitystringНереалізована кількість; поточний запит приймає кількість − filledQuantity, а історичний запит приймає значення історичного запису
avgFilledPricestringСередня ціна угоди завершеної частини; може не бути жодного значення, коли воно не завершено
reduceOnlybooleanЧи тільки скоротити посади
closeOnlybooleanЧи використовується він лише для закриття позицій
makerOnlybooleanЧи виконувати тільки як Творець
leverageintegerКредитне плече кілька; Історичний звичайний порядок має джерело, а поточний звичайний порядок не створює цього значення
marginModestringрежим націнки; Історичний звичайний порядок наразі повертає числовий рядок перерахування, наприклад «1», «2»; поточного звичайного порядку не передбачено
createdAtintegerЧас створення замовлення, мілісекунди; використовуйте це поле для фільтрації історичного часу замовлення
updatedAtintegerЧас оновлення запису делегата, мілісекунди

Історія замовлень включає припинені звичайні замовлення. Кожен запис не можна вважати повністю завершеним лише на основі імені інтерфейсу. Поточна сторінка замовлення – це запит поточного статусу, а не потік подій замовлення.

Умовні замовлення: поточні та історія

Поточний: orders/current + orderCategory=CONDITIONAL; Історія: orders/history + orderCategory=CONDITIONAL. Обидва вимагають явного platformUserIds.

data полетипузначення
symbolstringторгова пара
conditionIdstringІдентифікатор умовного замовлення, незалежний від звичайного orderId
orderCategorystringВиправлено CONDITIONAL
generatedOrderIdstringЗвичайний ідентифікатор замовлення, згенерований після запуску; можна опустити, якщо не згенеровано
clientOrderIdstringКількість умовних замовлень клієнта, виведення, якщо воно існує
sidestringBUY / SELL
orderTypestringТип замовлення після запуску, інтерпретований відповідно до фактичної вартості
triggerTypestringТип правила активації, пояснюється фактичним переліком джерела
workingTypestringДжерело типу роботи/ціни, яке ініціює ціну, інтерпретується як фактичне перерахування
timeInForcestringТермін дії/стратегія виконання ордера після тригеру
pricestringЦіна замовлення після запуску, виводиться, коли джерело має значення
quantitystringУмовна кількість замовлення
triggerPricestringтригерна ціна
reduceOnlybooleanЧи тільки скоротити посади
closePositionbooleanЧи використовувати повну семантику закриття позиції, не можна сплутати з closeOnly як те саме поле
leverageintegerКредитне плече, вихід, коли ненульовий
marginModestringЦей клас повертає CROSS / ISOLATED, який є числовим рядком, який відрізняється від звичайних історичних порядків/позицій
statusstringУмовний стан одного тригера, див. огляд запиту
triggerStatusstringПоточна реалізація використовує те саме значення умовного статусу, що й статус
createdAtintegerЧас створення умовного замовлення, мілісекунди; до цього часу відфільтровані історичні умови
updatedAtintegerЧас оновлення, виведення, коли є значення, мілісекунди
deletedAtintegerЧас відмітки видалення, виведення, коли є значення, мілісекунди; це не єдине поле часу транзакції/скасування

Умовні замовлення не надають filledQuantity, remainingQuantity, avgFilledPrice для звичайних замовлень. Якщо вам потрібен статус транзакції звичайних замовлень після запуску, запитуйте звичайні замовлення/транзакції через generatedOrderId і не виводьте обсяг транзакції за статусом умовного замовлення.

Приклад конверта відповіді

Це ілюстративна порожня сторінка, а не зразок завершеної торгівлі. У наведених вище таблицях полів для певних ресурсів описано заповнені items[].data.

{"code":0,"message":"success","data":{"items":[],"nextCursor":"","hasMore":false}}

Джерело та відповідні посібники