OandaV20 is a wrapper factory utilizing the Oanda V20 API
npm i oandav20
oandav20=require('oandav20')
wrappers=oandav20(api,host,datetime)
To generate an api
token, log in to the Account Management Portal and select Manage Api Access:
By default the host is set for live accounts, 'api-fxtrade.oanda.com'
, and can be omitted
For practice accounts, input 'api-fxpractice.oanda.com'
as the host.
Datime can either be 'RFC3339'
or 'UNIX'
; by default the datetime is set as 'RFC3339'
.
Please see the Oanda reference: AcceptDatetimeFormat.
- Accounts
- Instrument
- Positions
- Transactions
- Pricing
- Trades
- Orders
- getOrders
- getPendingOrders
- getFilledOrders
- getTriggeredOrders
- getCancelledOrders
- getAllPendingOrders
- getAllOrders
- getOrder
- cancelOrder
- setOrderClientExtensions
- createMarketOrder
- createLimitOrder
- createStopOrder
- createMarketIfTouchedOrder
- createTakeProfitOrder
- createStopLossOrder
- createGuaranteedStopLossOrder
- createTrailingStopLossOrder
- replaceWithMarketOrder
- replaceWithLimitOrder
- replaceWithStopOrder
- replaceWithMarketIfTouchedOrder
- replaceWithTakeProfitOrder
- replaceWithStopLossOrder
- replaceWithGuaranteedStopLossOrder
- replaceWithTrailingStopLossOrder
Oanda reference: Account Endpoints
- Get list of accounts
getAccounts(callback)
- Callback data: array
[]
- Get summary details of a list of accounts
getAccountsMeta(callback)
- Callback data: array
[]
- Get full details of a single account
getAccount(account,callback)
- Callback data: object
{}
- Get summary details of a single account
getAccountSummary(account,callback)
- Callback data: object
{}
- Get a list of tradeable instruments
getAccountInstruments(account,callback,options)
- Callback data: array
[]
- Get changes to account since a specific transaction id
getAccountChangesSinceTransaction(account,transactionID,callback)
- Callback data: object
{}
- Set the client-configurable portions on an account
setAccountConfiguration(account,callback,options)
- Callback data: object
{}
Oanda reference: Instrument Endpoints
- Get candlestick data for an instrument
getInstrument(instrument,callback,options)
- Callback data: array
[]
- Get order book data for an instrument
getOrderBook(instrument,callback,options)
- Callback data: object
{}
- Get position book data for an instrument
getPositionBook(instrument,callback,options)
- Callback data: object
{}
Oanda reference: Position Endpoints
- List positions for the lifetime of an account
getPositions(account,callback)
- Callback data: array
[]
- Get details of an instrument position
getPosition(account,instrument,callback)
- Callback data: object
{}
- List positions with open trades
getOpenPositions(account,callback)
- Callback data: array
[]
- Fully or partially close an open position
closePosition(account,instrument,callback,options)
- Callback data: object
{}
Oanda reference: Transaction Endpoints
- Get a list of transaction pages
getTransactions(account,callback,options)
- Callback data: object
{}
- Get details of a single transaction
getTransaction(account,transactionID,callback)
- Callback data: object
{}
- Get a list of transactions by transaction id range
getTransactionsByIdRange(account,from,to,callback,options)
- Callback data: array
[]
- Get a list of transactions starting after a specified transaction id
getTransactionsSinceId(account,id,callback,options)
- Callback data: array
[]
Oanda reference: Pricing Endpoints
- Get pricing details for a list of instruments
getInstrumentsPricing(account,instruments,callback,options)
- Callback data: array
[]
Oanda reference: Trade Endpoints
- Get a list of trades by account
getTrades(account,callback,options)
- Callback data: array
[]
- Get a list of open trades by account
getOpenTrades(account,callback,options)
- Callback data: array
[]
- Get a list of closed trades by account
getClosedTrades(account,callback,options)
- Callback data: array
[]
- Get a list of Close-when-tradeable trades by account
getCloseWhenTradeableTrades(account,callback,options)
- Callback data: array
[]
- Get a list of all trades by account
getAllTrades(account,callback,options)
- Callback data: array
[]
- Get a list of all open trades by account
getAllOpenTrades(account,callback)
- Callback data: array
[]
- Get details of a single trade
getTrade(account,tradeSpecifier,callback)
- Callback data: object
{}
- Fully or partially close an open trade
closeTrade(account,tradeSpecifier,callback,options)
- Callback data: object
{}
- Set the client extensions for a trade
setTradeClientExtensions(account,tradeSpecifier,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference:
- Create, replace and cancel the orders for a trade
setTradeOrders(account,tradeSpecifier,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference:
Oanda reference: Order Endpoints
- Get a list of orders
getOrders(account,callback,options)
- Callback data: array
[]
- Get a list of pending orders
getPendingOrders(account,callback,options)
- Callback data: array
[]
- Get a list of filled orders
getFilledOrders(account,callback,options)
- Callback data: array
[]
- Get a list of triggered orders
getTriggeredOrders(account,callback,options)
- Callback data: array
[]
- Get a list of cancelled orders
getCancelledOrders(account,callback,options)
- Callback data: array
[]
- Get a list of all pending orders
getAllPendingOrders(account,callback)
- Callback data: array
[]
- Get a list of all orders
getAllOrders(account,callback,options)
- Callback data: array
[]
- Get details of a single order
getOrder(account,orderSpecifier,callback)
- Callback data: object
{}
- Cancel a pending order
cancelOrder(account,orderSpecifier,callback)
- Callback data: object
{}
- Set the client extensions for an order
- Set the client extensions for a trade when the order is filled
setOrderClientExtensions(account,orderSpecifier,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference: Client Extensions
- Create a market order
createMarketOrder(account,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference: Market Order Request
- Create a limit order
createLimitOrder(account,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference: Limit Order Request
- Create a stop order
createStopOrder(account,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference: Stop Order Request
- Create a market-if-touched order
createMarketIfTouchedOrder(account,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference: Market If Touched Order Request
- Create a take profit order
createTakeProfitOrder(account,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference: Take Profit Order Request
- Create a stop loss order
createStopLossOrder(account,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference: Stop Loss Order Request
- Create a guaranteed stop loss order
createGuaranteedStopLossOrder(account,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference: Guaranteed Stop Loss Order Request
- Create a trailing stop loss order
createTrailingStopLossOrder(account,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference: Trailing Stop Loss Order Request
- Cancel an order and replace with a market order
replaceWithMarketOrder(account,orderSpecifier,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference: Market Order Request
- Cancel an order and replace with a limit order
replaceWithLimitOrder(account,orderSpecifier,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference: Market Order Request
- Cancel an order and replace with a stop order
replaceWithStopOrder(account,orderSpecifier,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference: Market Order Request
- Cancel an order and replace with a market-if-touched order
replaceWithMarketIfTouchedOrder(account,orderSpecifier,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference: Market Order Request
- Cancel an order and replace with a take profit order
replaceWithTakeProfitOrder(account,orderSpecifier,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference: Market Order Request
- Cancel an order and replace with a stop loss order
replaceWithStopLossOrder(account,orderSpecifier,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference: Market Order Request
- Cancel an order and replace with a guaranteed stop loss order
replaceWithGuaranteedStopLossOrder(account,orderSpecifier,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference: Market Order Request
- Cancel an order and replace with a trailing stop loss order
replaceWithTrailingStopLossOrder(account,orderSpecifier,callback,options)
- Callback data: object
{}
- Do not set, modify, or delete client extensions if your account is associated with MT4
- Oanda reference: Market Order Request