Hilfe
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

API: Frage zu Trailing Stop Market Order

testbot
Autor
4 Beiträge

Hallo allerseits,

 

ich habe gerade Probleme mit der API bei der Validierung einer Trailing Stop Market Order und vermute ein Verständnisproblem meinerseits.

 

Aktuell besitze ich testweise 12 Derivate mit der WKN PC1EJ1. Der Verkaufspreis liegt bei 0,84€, der Kaufpreis bei 0,94€. Ich möchte nun die folgende Trailing Stop Market Order erstellen:

 

{'depotId': 'XYZ',
 'side': 'SELL',
 'instrumentId': 'PC1EJ1',
 'orderType': 'TRAILING_STOP_MARKET',
 'quantity': {'value': '12', 'unit': 'XXX'},
 'venueId': 'D7E506847065490DA8E9990E7B6CA955',
 'triggerLimit': {'value': '0.50', 'unit': 'EUR'},
 'triggerLimitDistRel': {'preDecimalPlaces': '5', 'decimalPlaces': '50'},
 'validityType': 'GFD'}

Allerdings schlägt die Validierung immer fehl, es kommt der Fehler "Der Trailingabstand ist leider ungültig.". Auf der Webseite kann ich problemlos die Order mit den Parametern Trailing Stop Loss: 0,50 EUR, Trailing Abstand: 5,50 % absetzen. Was mache ich falsch?

 

Besten Dank.

8 ANTWORTEN

Krügerrand
Mentor
897 Beiträge

Sorry, nochmal genauer gelesen.

 

Laut Doku ist eine Trailing Stop Market nicht mit einem trigger Limit relativ kombinierbar:

 


11.2.4 Trailing Stop Market Verkaufsorder mit absolutem Abstand
Request-Body:
{
"depotId": "1234_depot_UUID_1234",
"side": "SELL",
"instrumentId": "WKN123",
"orderType": "TRAILING_STOP_MARKET",
"quantity": {"value":"1","unit":"XXX"},
"venueId": "1234_venue_UUID_1234",
"triggerLimit": {"value":"10","unit":"EUR"},
"triggerLimitDistAbs": {"value":"1","unit":"EUR"},
"validityType": "GFD"
}

11.2.5 Trailing Stop Limit Verkaufsorder mit relativem Abstand
Request-Body:
{
"depotId": "1234_depot_UUID_1234",
"side": "SELL",
"instrumentId": "WKN123",
"orderType": "TRAILING_STOP_LIMIT",
"quantity": {"value":"1","unit":"XXX"},
"venueId": "1234_venue_UUID_1234",
"limit": {"value":"9","unit":"EUR"},
"triggerLimit": {"value":"10","unit":"EUR"},
"triggerLimitDistRel": "preDecimalPlaces": "5", "decimalPlaces": "50"},
"validityType": "GFD"
}

So sieht es zumindest aus...

testbot
Autor
4 Beiträge

Hallo Krügerrand,

 

vielen Dank für die schnelle Antwort. Aber für den Order Type Trailing_Stop_Limit benötige ich nun ja noch einen weiteren Parameter "limit", geht die normale Trailing_Stop_Market-Order nicht mit relativem Abstand?

 

Besten Dank

Krügerrand
Mentor
897 Beiträge

Da war ich wohl zu schnell für mich selbst.

 

Versuche mal folgendes:

- triggerLimit 0,50 statt 0.50

 

 

Edit: nein scheint auch nicht das Problem zu sein...

Krügerrand
Mentor
897 Beiträge

Vielleicht ist es auch ein Logikproblem. Einen Trailing Stop einzugeben, der geringer ist, als das Limit zum aktuellen Kurs?

 

(0,50-0,94)/0,94 = 46%. Wenn man einen Trailing Stop Loss von 5,5% Eingibt, müsste der direkt auf 0,88 hochgesetzt werden. Vielleicht wird das in der Web Ordermaske nicht geprüft, führt aber bei der Api zu einem Fehler?

testbot
Autor
4 Beiträge

Danke für die Hinweise, in der Doku hatte ich auch das fehlende Beispiel zu relativem Abstand bei der Trailing Stop Market Order gesehen und gedacht, ich kann es äquivalent zur Trailing Stop Limit Order anwenden. Auch mit absolutem Abstand komme ich leider nicht weiter. Wenn ich bspw. folgendes eingebe, kommt weiterhin der selbe Fehler ("Der Trailingabstand ist leider ungültig."). Wenn meine Werte falsch sind bzw. ich einen Denkfehler habe, was wären bei dem Beispiel realistische Werte?

 

{'depotId': 'XYZ',
 'side': 'SELL',
 'instrumentId': 'PC1EJ1',
 'orderType': 'TRAILING_STOP_MARKET',
 'quantity': {'value': '12', 'unit': 'XXX'},
 'venueId': 'D7E506847065490DA8E9990E7B6CA955',
 'triggerLimit': {'value': '0.60', 'unit': 'EUR'},
 'validityType': 'GFD',
 'triggerLimitDistAbs': {'value': '0.15', 'unit': 'EUR'}}

 

Krügerrand
Mentor
897 Beiträge

Auch hier ist dein Preis (0,60) weit tiefer, als er mit deinem Abstand hätte.

Aktuell ist der Preis bei 1,12 EUR. Damit würde dein SL auf 0,97 hochgezogen werden.

Versuch doch mal SL 1,00 und Absoluter Abstand 0,20 EUR.

 

Aber grundsätzlich sollte deines schon auch gehen...

testbot
Autor
4 Beiträge

Mmh, danke für die Idee, aber auch damit klappt es leider nicht:

{'depotId': 'XYZ',
 'side': 'SELL',
 'instrumentId': 'PC1EJ1',
 'orderType': 'TRAILING_STOP_MARKET',
 'quantity': {'value': '12', 'unit': 'XXX'},
 'venueId': 'D7E506847065490DA8E9990E7B6CA955',
 'triggerLimit': {'value': '1.00', 'unit': 'EUR'},
 'validityType': 'GFD',
 'triggerLimitDistAbs': {'value': '0.20', 'unit': 'EUR'}}
Error in Order Validation {"code":"request.object.invalid","messages":[{"severity":"ERROR","key":"fehler_trailingabstand_ungueltig","message":"Der Trailingabstand ist leider ungültig.","args":{},"origin":[]}]}

ehemaliger Nutzer
ohne Rang
0 Beiträge

Schau dir mal die postman collection an. Dort steht trailingLimitDistAbs als key für den Abstand. Die Doku scheint hier falsch zu sein. 

 

Ansonsten würde ich mal versuchen eine Order über das Web anzulegen und per API die Orders abfragen. Da kannst du die richtige Struktur sehen.