Skip to navigation

Đơn đặt hàng vĩnh viễn

Đơn đặt hàng vĩnh viễn: Agent Java SDK tích hợp v0.3.0, ví dụ, tham số và ngữ nghĩa phản hồi.

View as Markdown

Hướng dẫn này hướng tới Agent Java SDK v0.3.0, Java 8+ và hợp đồng công khai được gắn thẻ. Các ví dụ chạy trong phần phụ trợ của đối tác sau khi khởi tạo client trong Bắt đầu nhanh.

Điều kiện tiên quyết mẫu

Đoạn mã Java chia sẻ những nội dung nhập này. Khởi tạo client bằng cách sử dụng Bắt đầu nhanh và lấy platformUserId từ liên kết đã lưu. ID người dùng/đơn đặt hàng mẫu phải được thay thế bằng các giá trị cố định của riêng bạn.

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

listCurrentPerpetualOrders

Mẫu yêu cầu: 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);

Các trường yêu cầu

Cánh đồngJava loạiYêu cầuNghĩa
orderCategoryStringĐúngNORMAL hoặc CONDITIONAL; truy vấn có điều kiện yêu cầu người dùng rõ ràng.
platformUserIdsjava.util.List<String>có điều kiện1–100 ID công khai duy nhất; cần thiết cho việc điền và các đơn đặt hàng có điều kiện. Bỏ qua các truy vấn được hỗ trợ cho phạm vi trình phát trực tiếp; [] không hợp lệ.
symbolStringKHÔNGBộ lọc cặp giao dịch tùy chọn.
limitIntegerKHÔNGMặc định 500; 1–1000.
cursorStringKHÔNGSử dụng nextCursor được trả về với các bộ lọc không thay đổi; dừng khi hasMore sai.

Ví dụ đọc một trang. Đối với các trường bắt buộc, phạm vi trình phát, ngữ nghĩa bộ lọc, giới hạn, con trỏ và số lần thử giới hạn, hãy làm theo Tổng quan về truy vấn. Giữ tất cả các bộ lọc không thay đổi trong khi phân trang; không hiểu lỗi là kết quả trống.

listPerpetualOrderHistory

Mẫu yêu cầu: 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);

Các trường yêu cầu

Cánh đồngJava loạiYêu cầuNghĩa
orderCategoryStringĐúngNORMAL hoặc CONDITIONAL; truy vấn có điều kiện yêu cầu người dùng rõ ràng.
platformUserIdsjava.util.List<String>có điều kiện1–100 ID công khai duy nhất; cần thiết cho việc điền và các đơn đặt hàng có điều kiện. Bỏ qua các truy vấn được hỗ trợ cho phạm vi trình phát trực tiếp; [] không hợp lệ.
symbolStringKHÔNGBộ lọc cặp giao dịch tùy chọn.
orderIdStringKHÔNGID đơn hàng thông thường; không phải là số thứ tự chuyển nhượng đối tác.
conditionIdStringKHÔNGID lệnh có điều kiện; không trộn lẫn với orderId.
clientOrderIdStringKHÔNGTham chiếu lệnh của khách hàng giao dịch, không phải agentOrderNo.
sideStringKHÔNGBộ lọc BUY / SELL.
statusStringKHÔNGTrạng thái cụ thể của tài nguyên; xem tham chiếu trạng thái.
startTimeLongKHÔNGBao gồm Unix mili giây; sử dụng cửa sổ lịch sử UTC cố định.
endTimeLongKHÔNGUnix mili giây độc quyền.
limitIntegerKHÔNGMặc định 500; 1–1000.
cursorStringKHÔNGSử dụng nextCursor được trả về với các bộ lọc không thay đổi; dừng khi hasMore sai.

Ví dụ đọc một trang. Đối với các trường bắt buộc, phạm vi trình phát, ngữ nghĩa bộ lọc, giới hạn, con trỏ và số lần thử giới hạn, hãy làm theo Tổng quan về truy vấn. Giữ tất cả các bộ lọc không thay đổi trong khi phân trang; không hiểu lỗi là kết quả trống.

Lệnh thông thường: hiện tại và lịch sử

Hiện tại: orders/current + orderCategory=NORMAL; Lịch sử: orders/history + orderCategory=NORMAL.

Trường datakiểuÝ nghĩa và phạm vi áp dụng
symbolstringCặp giao dịch, chẳng hạn như BTCUSDT
orderIdstringID đơn hàng thông thường của nền tảng
orderCategorystringĐã sửa lỗi NORMAL
clientOrderIdstringMã lệnh của khách hàng do nguồn lệnh giao dịch cung cấp; không cùng lĩnh vực với chuyển tiền của người bán agentOrderNo
orderTypestringLoại đại biểu, chẳng hạn như LIMIT, MARKET; giá trị liệt kê thực tế sẽ được ưu tiên áp dụng
sidestringHướng mua bán BUY / SELL
statusstringTrạng thái đơn hàng thông thường, xem tổng quan truy vấn
timeInForcestringChiến lược thực hiện giao dịch/thời gian hiệu lực, chẳng hạn như GTC, IOC, FOK; giải thích theo giá trị thực tế
pricestringGiá ủy thác; nó có thể được bỏ qua khi không có giá được cung cấp và giá giao dịch thị trường sẽ không được tự bổ sung.
quantitystringSố lượng đặt hàng ban đầu
filledQuantitystringSố lượng giao dịch
remainingQuantitystringSố lượng chưa giao dịch; truy vấn hiện tại lấy số lượng − filledQuantity và truy vấn lịch sử lấy giá trị bản ghi lịch sử
avgFilledPricestringGiá giao dịch bình quân của phần hoàn thành; có thể không có giá trị khi nó chưa được hoàn thành
reduceOnlybooleanCó phải chỉ giảm vị thế
closeOnlybooleanCho dù nó chỉ được sử dụng để đóng các vị trí
makerOnlybooleanCó chỉ thực thi với tư cách là Người tạo hay không
leverageintegerTận dụng nhiều; Trật tự thông thường trong lịch sử có nguồn và lệnh thông thường hiện tại không tạo ra giá trị này
marginModestringChế độ ký quỹ; Thứ tự thông thường trong lịch sử hiện trả về một chuỗi liệt kê số, chẳng hạn như “1”, “2”; trật tự thông thường hiện tại không được cung cấp
createdAtintegerThời gian tạo lệnh, mili giây; sử dụng trường này để lọc thời gian đặt hàng lịch sử
updatedAtintegerThời gian cập nhật bản ghi của đại biểu, mili giây

Lịch sử đơn hàng bao gồm các đơn hàng thông thường đã chấm dứt. Mỗi bản ghi không thể được coi là hoàn thành đầy đủ nếu chỉ dựa vào tên giao diện. Trang đặt hàng hiện tại là truy vấn trạng thái hiện tại, không phải luồng sự kiện đặt hàng.

Lệnh có điều kiện: hiện tại và lịch sử

Hiện tại: orders/current + orderCategory=CONDITIONAL; Lịch sử: orders/history + orderCategory=CONDITIONAL. Cả hai đều yêu cầu platformUserIds rõ ràng.

Trường datakiểunghĩa
symbolstringcặp giao dịch
conditionIdstringID lệnh có điều kiện, độc lập với thông thường orderId
orderCategorystringĐã sửa lỗi CONDITIONAL
generatedOrderIdstringID đơn hàng thông thường được tạo sau khi kích hoạt; có thể được bỏ qua nếu không được tạo ra
clientOrderIdstringSố lệnh của khách hàng trong lệnh có điều kiện, xuất ra khi tồn tại
sidestringBUY / SELL
orderTypestringLoại lệnh sau kích hoạt, được diễn giải theo giá trị thực tế
triggerTypestringLoại quy tắc kích hoạt, được giải thích bằng cách liệt kê nguồn thực tế
workingTypestringLoại công việc/nguồn giá kích hoạt giá, được hiểu là bảng liệt kê thực tế
timeInForcestringThời gian hiệu lực/chiến lược thực hiện lệnh sau khi kích hoạt
pricestringGiá lệnh sau khi kích hoạt, xuất ra khi nguồn có giá trị
quantitystringSố lượng đặt hàng có điều kiện
triggerPricestringgiá kích hoạt
reduceOnlybooleanCó phải chỉ giảm vị thế
closePositionbooleanCó sử dụng ngữ nghĩa đóng vị trí đầy đủ hay không, không thể nhầm lẫn với closeOnly trong cùng một trường
leverageintegerTận dụng bội số, xuất ra khi khác 0
marginModestringLớp này trả về CROSS / ISOLATED, là một chuỗi số khác với các thứ tự/vị trí lịch sử thông thường
statusstringTrạng thái kích hoạt duy nhất có điều kiện, xem tổng quan về truy vấn
triggerStatusstringViệc triển khai hiện tại sử dụng cùng một giá trị trạng thái có điều kiện như trạng thái
createdAtintegerThời gian tạo lệnh có điều kiện, mili giây; điều kiện lịch sử được lọc vào thời điểm này
updatedAtintegerThời gian cập nhật, xuất ra khi có giá trị, mili giây
deletedAtintegerXóa thời gian đánh dấu, xuất ra khi có giá trị, mili giây; nó không phải là trường thời gian hủy/giao dịch thống nhất

Lệnh có điều kiện không cung cấp filledQuantity, remainingQuantity, avgFilledPrice cho các lệnh thông thường. Nếu bạn cần trạng thái giao dịch của các lệnh thông thường sau khi kích hoạt, hãy truy vấn các lệnh/giao dịch thông thường thông qua generatedOrderId và không suy ra khối lượng giao dịch từ trạng thái lệnh có điều kiện.

Ví dụ về phong bì phản hồi

Đây là trang trống minh họa, không phải mẫu giao dịch đã hoàn thành. Các bảng trường dành riêng cho tài nguyên ở trên mô tả items[].data.

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

Nguồn và hướng dẫn liên quan