> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.6mm.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.6mm.com/_mcp/server.

# Kalıcı Pozisyonlar

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ıç](/tr/sdk/agent-sdk/java/quick-start).

## Ö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.

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

## `listCurrentPerpetualPositions`

Talep modeli: `CurrentPerpetualPositionsRequest`.

```java
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ı

| Alan              | Java türü                | Gerekli | Anlam                                                                                                                                                         |
| ----------------- | ------------------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `platformUserIds` | `java.util.List<String>` | Koşullu | 1-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. |
| `symbol`          | `String`                 | HAYIR   | İsteğe bağlı işlem çifti filtresi.                                                                                                                            |
| `limit`           | `Integer`                | HAYIR   | Varsayılan 500; 1–1000.                                                                                                                                       |
| `cursor`          | `String`                 | HAYIR   | Dö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ış](/tr/sdk/agent-sdk/java/perpetual-queries). Sayfalama sırasında tüm filtreleri değiştirmeden tutun; Bir hatayı boş bir sonuç olarak yorumlamayın.

## `listPerpetualPositionHistory`

Talep modeli: `PerpetualPositionHistoryRequest`.

```java
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ı

| Alan              | Java türü                | Gerekli | Anlam                                                                                                                                                         |
| ----------------- | ------------------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `platformUserIds` | `java.util.List<String>` | Koşullu | 1-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. |
| `symbol`          | `String`                 | HAYIR   | İsteğe bağlı işlem çifti filtresi.                                                                                                                            |
| `positionSide`    | `String`                 | HAYIR   | Kaynak konumu tarafındaki numaralandırmayı kullanarak filtreleyin.                                                                                            |
| `startTime`       | `Long`                   | HAYIR   | Kapsamlı Unix milisaniye; sabit bir UTC geçmiş penceresi kullanın.                                                                                            |
| `endTime`         | `Long`                   | HAYIR   | Özel Unix milisaniyesi.                                                                                                                                       |
| `limit`           | `Integer`                | HAYIR   | Varsayılan 500; 1–1000.                                                                                                                                       |
| `cursor`          | `String`                 | HAYIR   | Dö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ış](/tr/sdk/agent-sdk/java/perpetual-queries). 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ı      | tip     | Mevcut konum | Tarihsel konumlar | Anlam                                                                                                                                 |
| ----------------- | ------- | ------------ | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `positionId`      | string  | tedarik      | tedarik           | entityId'a karşılık gelen Konum Kimliği                                                                                               |
| `symbol`          | string  | tedarik      | tedarik           | ticaret çifti                                                                                                                         |
| `positionSide`    | string  | tedarik      | tedarik           | LONG / SHORT / BOTH ve diğer konum yönleri                                                                                            |
| `status`          | string  | tedarik      | tedarik           | Pozisyonun sayısal durumunu içeren dize, sorguya genel bakışa bakın                                                                   |
| `leverage`        | integer | tedarik      | tedarik           | Birden fazla yararlanın                                                                                                               |
| `marginMode`      | string  | tedarik      | tedarik           | Tam konum için sayısal numaralandırma dizisi "1", yalıtılmış konum için "2"                                                           |
| `quantity`        | string  | tedarik      | Müsait değil      | Mevcut konum miktarı                                                                                                                  |
| `entryPrice`      | string  | tedarik      | tedarik           | Saklanan pozisyonların ortalama açılış fiyatı                                                                                         |
| `margin`          | string  | tedarik      | Müsait değil      | Kullanıcının sözleşme cüzdanı bakiyesinin tamamı değil, mevcut pozisyon marjı tutarı                                                  |
| `maxQuantity`     | string  | Müsait değil | tedarik           | Bu geçmiş konumda kaydedilen maksimum konum sayısı                                                                                    |
| `closeQuantity`   | string  | Müsait değil | tedarik           | Geçmiş pozisyon yaşam döngüsü boyunca kapatılan kümülatif pozisyon sayısı                                                             |
| `closePrice`      | string  | Müsait değil | tedarik           | Saklanan ortalama kapanış fiyatı                                                                                                      |
| `pnl`             | string  | Müsait değil | tedarik           | Tarihsel pozisyon karı ve zararı; basitçe tekrarlamak ve biriktirmek için bunu realizedPnl işlemiyle birleştirmeyin                   |
| `roe`             | string  | Müsait değil | tedarik           | Geç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 |
| `fundingFeeAccum` | string  | tedarik      | tedarik           | Birikmiş finansman ücreti, kaynak sembolü ve doğruluğu korunarak                                                                      |
| `openedAt`        | integer | tedarik      | tedarik           | Pozisyon açılma süresi, milisaniye                                                                                                    |
| `updatedAt`       | integer | tedarik      | Müsait değil      | Mevcut konum güncelleme süresi, milisaniye                                                                                            |
| `closedAt`        | integer | Müsait değil | tedarik           | Kapanış 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.

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

## Kaynak ve ilgili kılavuzlar

* [Resmi v0.3.0 kaynağı](https://github.com/6mm-com/agent-java-sdk/tree/54aa3c1)
* [Sorguya genel bakış ve sayfalandırma](/tr/sdk/agent-sdk/java/perpetual-queries)
* [Finansman cüzdanı](/tr/sdk/agent-sdk/java/funding-wallet)
* [Yükseltme kılavuzu](/tr/sdk/agent-sdk/java/upgrade)