TrailingStopLossDetails¶
-
class
oandapyV20.contrib.requests.
TrailingStopLossDetails
(distance, timeInForce='GTC', gtdTime=None, clientExtensions=None)¶ Bases:
oandapyV20.contrib.requests.onfill.OnFill
Representation of the specification for a TrailingStopLossOrder.
It is typically used to specify ‘trailing stop loss details’ for the ‘trailingStopLossOnFill’ parameter of an OrderRequest. This way one can create the Trailing Stop Loss Order as a dependency when an order gets filled.
The other way to create a TrailingStopLossOrder is to create it afterwards on an existing trade. In that case you use TrailingStopLossOrderRequest on the trade.
-
__init__
(distance, timeInForce='GTC', gtdTime=None, clientExtensions=None)¶ Instantiate TrailingStopLossDetails.
Parameters: - distance (float or string (required)) – the price to trigger trailing stop loss order
- timeInForce (TimeInForce (required), default TimeInForce.GTC) – the time in force
- gtdTime (DateTime (optional)) – gtdTime is required in case timeInForce == TimeInForce.GTD
- clientExtensions (ClientExtensions (optional)) –
Example
>>> import json >>> from oandapyV20 import API >>> import oandapyV20.endpoints.orders as orders >>> from oandapyV20.contrib.requests import ( >>> MarketOrderRequest, TrailingStopLossDetails) >>> >>> accountID = "..." >>> client = API(access_token=...) >>> # at time of writing EUR_USD = 1.0740 >>> # let us take profit at 1.10, GoodTillCancel (default) >>> trailingStopLossOnFill = TrailingStopLossDetails(price=1.06) >>> print(trailingStopLossOnFill) { "timeInForce": "GTC", "price": "1.10000" } >>> ordr = MarketOrderRequest( >>> instrument="EUR_USD", >>> units=10000, >>> trailingStopLossOnFill=trailingStopLossOnFill.data >>> ) >>> # or as shortcut ... >>> # ...OnFill=trailingStopLossDetails(price=1.06).data >>> print(json.dumps(ordr.data, indent=4)) >>> r = orders.OrderCreate(accountID, data=ordr.data) >>> rv = client.request(r) >>> ...
-