LimitOrderRequest

class oandapyV20.contrib.requests.LimitOrderRequest(instrument, units, price, positionFill='DEFAULT', clientExtensions=None, takeProfitOnFill=None, timeInForce='GTC', gtdTime=None, stopLossOnFill=None, trailingStopLossOnFill=None, tradeClientExtensions=None)

Bases: oandapyV20.contrib.requests.baserequest.BaseRequest

create a LimitOrderRequest.

LimitOrderRequest is used to build the body for a LimitOrder. The body can be used to pass to the OrderCreate endpoint.

__init__(instrument, units, price, positionFill='DEFAULT', clientExtensions=None, takeProfitOnFill=None, timeInForce='GTC', gtdTime=None, stopLossOnFill=None, trailingStopLossOnFill=None, tradeClientExtensions=None)

Instantiate a LimitOrderRequest.

Parameters:
  • instrument (string (required)) – the instrument to create the order for
  • units (integer (required)) – the number of units. If positive the order results in a LONG order. If negative the order results in a SHORT order
  • price (float (required)) – the price indicating the limit.

Example

>>> import json
>>> from oandapyV20 import API
>>> import oandapyV20.endpoints.orders as orders
>>> from oandapyV20.contrib.requests import LimitOrderRequest
>>>
>>> accountID = "..."
>>> client = API(access_token=...)
>>> ordr = LimitOrderRequest(instrument="EUR_USD",
...                          units=10000, price=1.08)
>>> print(json.dumps(ordr.data, indent=4))
{
    "order": {
        "timeInForce": "GTC",
        "instrument": "EUR_USD",
        "units": "10000",
        "price": "1.08000",
        "type": "LIMIT",
        "positionFill": "DEFAULT"
    }
}
>>> r = orders.orderCreate(accountID, data=ordr.data)
>>> rv = client.request(r)
>>>
data

data property.

return the JSON order body