2016-12-22 3 views
0

Ich weiß, in ibpy, dass ich platzieren könnte, um eine neue Ordnung zu schaffen:Wie können wir mit ibpy Aufträge bearbeiten?

self._tws.placeOrder(order_id,contract, order) 

Allerdings nehme ich möchte wissen, die Grenze Preis für einige bereits aufgegebene Bestellung ändern. Gibt es etwas wie :?

self._tws.editOrder(order_id,contract, order) 

Oder einfach verwenden Sie die Reihenfolge mit der spezifischen order_id ist ok?

Antwort

0

Sie rufen placementOrder erneut mit derselben orderId, aber mit geänderten Daten auf. Sie können nur bestimmte Felder ändern, aber m_lmtPrice ist einfach.

die Dokumente,

Modification einer offenen Ordnung durch die API kann durch den gleichen Client die die ursprüngliche Reihenfolge platziert erreicht werden. Im Falle von Aufträgen manuell in TWS platziert, kann die Bestellung durch den Kunden mit ID geändert werden 0.

Um eine Bestellung zu ändern, einfach rufen die Funktion IBApi.EClient.placeOrder wieder mit den gleichen Parametern verwendet Platzieren Sie die ursprüngliche Reihenfolge, , mit Ausnahme des geänderten Parameters. Dies schließt die IBApi.Order.OrderId ein, die mit der IBApi.Order.OrderId des Originals übereinstimmen muss. Es wird im Allgemeinen nicht empfohlen, den Auftrag andere Parameter als den Bestellpreis und die Bestellgröße zu ändern. Um andere Parameter zu ändern, ist es möglicherweise vorzuziehen, die ursprüngliche Bestellung zu stornieren und eine neue Bestellung aufzugeben.

Link- http://interactivebrokers.github.io/tws-api/modifying_orders.html#gsc.tab=0

Verwandte Themen