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
763 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
763 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
763 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
763 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. 

Kurz zustimmen zu Cookies und vergleichbaren Webtechnologien
Um Ihnen insbesondere ein optimales Website-Erlebnis zu bieten, werden mit Ihrer Einwilligung Cookies und Webtechnologien zu Funktions-, Statistik-, Komfort- und Marketingzwecken sowie zur Darstellung personalisierter Inhalte verwendet. Im Einzelnen sind dies (Details unter nachfolgenden Links):

Adobe Analytics: Reichweitenmessung zur Verbesserung des Nutzungserlebnisses der Website sowie Optimierung der Marketingkampagnen.

Adform: Aussteuerung und Optimierung von Werbemitteln, die durch Kunden von Adform geschaltet werden.

Adition: Aussteuerung und Optimierung von Werbemitteln, die durch Kunden von Adition geschaltet werden.

comdirect-Surfertracking: Optimierung und Aussteuerung nutzerbezogener Werbung, die von comdirect auf Drittseiten geschaltet wird

Community Umfrage: Aussteuerung von Umfragen für Besucher der comdirect community.

DoubleClick Floodlight: Analyse des Nutzerverhaltens zur Optimierung des Nutzungserlebnisses.

Meta: Nachverfolgung von Verhalten nach Klick auf Meta-Werbeanzeigen und Personalisierung von Meta-Werbung.

Google Ads: Nachverfolgung von Verhalten nach Klick auf Google-Werbeanzeigen und Personalisierung von Google-Werbung.

Personalisierte Angebote: Aussteuerung und Optimierung von personalisierten Werbeflächen im persönlichen Bereich.

Smartadverser: Aussteuerung und Optimierung von Werbemitteln, die durch Kunden von Smartadverser geschaltet werden.

Wenn Sie mindestens 16 Jahre alt sind, können Sie durch Klicken auf „Alle akzeptieren“ bestätigen, dass wir diese Webtechnologien verwenden dürfen. Anderenfalls klicken Sie auf „Alle verweigern“. Durch Klicken auf „Einzeln einstellen“ können Sie jederzeit Ihre Einwilligung widerrufen oder Ihre Einwilligungseinstellungen anpassen.

Hier finden Sie weitere Informationen zum Datenschutz und unser Impressum.