Client Extensions¶
Client extensions can be used optionally on Order Requests. It allows a client to set a custom ID, Tag and/or Comment.
-
class
oandapyV20.contrib.requests.
ClientExtensions
(clientID=None, clientTag=None, clientComment=None)¶ Bases:
oandapyV20.contrib.requests.baserequest.BaseRequest
Representation of the ClientExtensions.
-
__init__
(clientID=None, clientTag=None, clientComment=None)¶ Instantiate ClientExtensions.
Parameters: - clientID (clientID (required)) – the clientID
- clientTag (clientTag (required)) – the clientTag
- clientComment (clientComment (required)) – the clientComment
Example
>>> import json >>> from oandapyV20 import API >>> import oandapyV20.endpoints.orders as orders >>> from oandapyV20.contrib.requests import ( ... MarketOrderRequest, TakeProfitDetails, ClientExtensions) >>> >>> accountID = "..." >>> client = API(access_token=...) >>> # at time of writing EUR_USD = 1.0740 >>> # let us take profit at 1.10, GoodTillCancel (default) >>> # add clientExtensions to it also >>> takeProfitOnFillOrder = TakeProfitDetails( ... price=1.10, ... clientExtensions=ClientExtensions(clientTag="mytag").data) >>> print(takeProfitOnFillOrder.data) { 'timeInForce': 'GTC', 'price": '1.10000', 'clientExtensions': {'tag': 'mytag'} } >>> ordr = MarketOrderRequest( ... instrument="EUR_USD", ... units=10000, ... takeProfitOnFill=takeProfitOnFillOrder.data ... ) >>> # or as shortcut ... >>> # takeProfitOnFill=TakeProfitDetails(price=1.10).data >>> print(json.dumps(ordr.data, indent=4)) >>> r = orders.OrderCreate(accountID, data=ordr.data) >>> rv = client.request(r) >>> ...
-