Gezinmeye atla

Kalıcı Pozisyonlar

Kalıcı Pozisyonlar: Agent Java SDK v0.3.0 entegrasyonu, örnekler, parametreler ve yanıt semantiği.

Markdown olarak görüntüle

Bu kılavuz Agent Java SDK v0.3.0, Java 8+ ve etiketli kamu sözleşmesini hedefler. Örnekler, client başlatıldıktan sonra bir iş ortağı arka ucunda çalıştırılır. Hızlı Başlangıç.

Örnek önkoşullar

Java parçacıkları bu içe aktarmaları paylaşır. Hızlı Başlangıç’ı kullanarak client’ı başlatın ve kaydedilen bağlamadan platformUserId’i edinin. Örnek kullanıcı/sipariş kimlikleri kendi kalıcı değerlerinizle değiştirilmelidir.

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

listCurrentPerpetualPositions

Talep modeli: CurrentPerpetualPositionsRequest.

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

Talep alanları

AlanJava türüGerekliAnlam
platformUserIdsjava.util.List<String>Koşullu1-100 benzersiz genel kimlik; Dolumlar ve koşullu siparişler için gereklidir. Doğrudan oynatıcı kapsamı için desteklenen sorguları hariç tutun; [] geçersiz.
symbolStringHAYIRİsteğe bağlı işlem çifti filtresi.
limitIntegerHAYIRVarsayılan 500; 1–1000.
cursorStringHAYIRDöndürülen nextCursor öğesini değişmemiş filtrelerle kullanın; hasMore yanlış olduğunda dur.

Örnek bir sayfayı okuyor. Gerekli alanlar, oynatıcı kapsamı, filtre semantiği, limit, imleç ve sınırlı yeniden denemeler için aşağıdaki adımları izleyin Sorguya genel bakış. Sayfalama sırasında tüm filtreleri değiştirmeden tutun; Bir hatayı boş bir sonuç olarak yorumlamayın.

listPerpetualPositionHistory

Talep modeli: PerpetualPositionHistoryRequest.

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

Talep alanları

AlanJava türüGerekliAnlam
platformUserIdsjava.util.List<String>Koşullu1-100 benzersiz genel kimlik; Dolumlar ve koşullu siparişler için gereklidir. Doğrudan oynatıcı kapsamı için desteklenen sorguları hariç tutun; [] geçersiz.
symbolStringHAYIRİsteğe bağlı işlem çifti filtresi.
positionSideStringHAYIRKaynak konumu tarafındaki numaralandırmayı kullanarak filtreleyin.
startTimeLongHAYIRKapsamlı Unix milisaniye; sabit bir UTC geçmiş penceresi kullanın.
endTimeLongHAYIRÖzel Unix milisaniyesi.
limitIntegerHAYIRVarsayılan 500; 1–1000.
cursorStringHAYIRDöndürülen nextCursor öğesini değişmemiş filtrelerle kullanın; hasMore yanlış olduğunda dur.

Örnek bir sayfayı okuyor. Gerekli alanlar, oynatıcı kapsamı, filtre semantiği, limit, imleç ve sınırlı yeniden denemeler için aşağıdaki adımları izleyin Sorguya genel bakış. Sayfalama sırasında tüm filtreleri değiştirmeden tutun; Bir hatayı boş bir sonuç olarak yorumlamayın.

Pozisyonlar: Güncel ve Tarihsel

data alanıtipMevcut konumTarihsel konumlarAnlam
positionIdstringtedariktedarikentityId’a karşılık gelen Konum Kimliği
symbolstringtedariktedarikticaret çifti
positionSidestringtedariktedarikLONG / SHORT / BOTH ve diğer konum yönleri
statusstringtedariktedarikPozisyonun sayısal durumunu içeren dize, sorguya genel bakışa bakın
leverageintegertedariktedarikBirden fazla yararlanın
marginModestringtedariktedarikTam konum için sayısal numaralandırma dizisi “1”, yalıtılmış konum için “2”
quantitystringtedarikMüsait değilMevcut konum miktarı
entryPricestringtedariktedarikSaklanan pozisyonların ortalama açılış fiyatı
marginstringtedarikMüsait değilKullanıcının sözleşme cüzdanı bakiyesinin tamamı değil, mevcut pozisyon marjı tutarı
maxQuantitystringMüsait değiltedarikBu geçmiş konumda kaydedilen maksimum konum sayısı
closeQuantitystringMüsait değiltedarikGeçmiş pozisyon yaşam döngüsü boyunca kapatılan kümülatif pozisyon sayısı
closePricestringMüsait değiltedarikSaklanan ortalama kapanış fiyatı
pnlstringMüsait değiltedarikTarihsel pozisyon karı ve zararı; basitçe tekrarlamak ve biriktirmek için bunu realizedPnl işlemiyle birleştirmeyin
roestringMüsait değiltedarikGeçmiş konum getirisinin orantılı değeri, 100 ile çarpılmaz; örneğin, "0.043", 4.3%’i temsil eder, "-0.05", -5%’u temsil eder
fundingFeeAccumstringtedariktedarikBirikmiş finansman ücreti, kaynak sembolü ve doğruluğu korunarak
openedAtintegertedariktedarikPozisyon açılma süresi, milisaniye
updatedAtintegertedarikMüsait değilMevcut konum güncelleme süresi, milisaniye
closedAtintegerMüsait değiltedarikKapanış süresi, milisaniye; geçmiş konum zamanını filtrelemek için bu alanı kullanın

Geçmişin roe hesaplama kalibresi pnl / (entryPrice × maxQuantity / leverage) şeklindedir ve arayüz doğrudan kaydedilen oran değerini döndürür. Yüzdeyi görüntülerken ondalık işlemi kullanın ve 100 ile çarpın, ardından % ekleyin; payda, hesap cüzdan bakiyesini değil, geçmiş pozisyon kaydının nominal marjını kullanır. Açılış fiyatı veya maksimum pozisyon miktarı 0, kaldıraç geçersiz vb. olduğunda ve hesaplanamadığında kaynak 0 olarak kaydedilir. Dolayısıyla sadece roe=0’e dayanarak kar veya zararın 0 olduğu çıkarımı yapılamaz.

Mevcut pozisyonun gerçek zamanlı işaret fiyatı, gerçek zamanlı değişken kar ve zararı, gerçek zamanlı ROE veya gerçek zamanlı likidasyon fiyatı yoktur. Saklanan pozisyon durumunu yansıtır ve mevcut gerçek zamanlı risk kontrol sonuçlarını talep etmek için güncelleme süresi ve marj alanlarını kullanamaz.

Örnek yanıt zarfı

Bu, tamamlanmış bir işlemin örneği değil, açıklayıcı boş bir sayfadır. Yukarıdaki kaynağa özgü alan tablolarında doldurulmuş items[].data açıklanmaktadır.

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

Kaynak ve ilgili kılavuzlar