Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fooeybar/oandav20
Oanda V20 functions
https://github.com/fooeybar/oandav20
currency forex fxtrade mt4 oanda oanda-api-v20 oanda-api-wrapper trading
Last synced: 4 days ago
JSON representation
Oanda V20 functions
- Host: GitHub
- URL: https://github.com/fooeybar/oandav20
- Owner: Fooeybar
- License: mit
- Created: 2020-09-24T15:14:15.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-07-21T18:45:33.000Z (over 1 year ago)
- Last Synced: 2024-11-02T05:48:23.835Z (14 days ago)
- Topics: currency, forex, fxtrade, mt4, oanda, oanda-api-v20, oanda-api-wrapper, trading
- Language: JavaScript
- Homepage:
- Size: 58.6 KB
- Stars: 4
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# **OandaV20**
![Oanda](https://img.shields.io/badge/oanda%20api-v20-blue)
![npm](https://img.shields.io/npm/v/oandav20)
![license](https://img.shields.io/badge/license-MIT-green)
Made with ![linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black)## OandaV20 is a wrapper factory utilizing the [Oanda V20 API](https://developer.oanda.com/rest-live-v20/introduction/)
`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:
- CA
- [Account Management Portal](https://fxtrade.oanda.ca/account/login)
- [Manage API Access](https://www.oanda.ca/account/tpa/personal_token)
- US
- [Account Management Portal](https://fxtrade.oanda.com/account/login)
- [Manage API Access](https://www.oanda.com/account/tpa/personal_token)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](https://developer.oanda.com/rest-live-v20/primitives-df/#AcceptDatetimeFormat).---
- Accounts
- [getAccounts](#getaccounts)
- [getAccountsMeta](#getaccountsmeta)
- [getAccount](#getaccount)
- [getAccountSummary](#getaccountsummary)
- [getAccountInstruments](#getAccountInstruments)
- [getAccountChangesSinceTransaction](#getAccountChangesSinceTransaction)
- [setAccountConfiguration](#setAccountConfiguration)
- Instrument
- [getInstrument](#getInstrument)
- [getOrderBook](#getOrderBook)
- [getPositionBook](#getPositionBook)
- Positions
- [getPositions](#getPositions)
- [getPosition](#getPosition)
- [getOpenPositions](#getOpenPositions)
- [closePosition](#closePosition)
- Transactions
- [getTransactions](#getTransactions)
- [getTransaction](#getTransaction)
- [getTransactionsByIdRange](#getTransactionsByIdRange)
- [getTransactionsSinceId](#getTransactionsSinceId)
- Pricing
- [getInstrumentsPricing](#getInstrumentsPricing)
- Trades
- [getTrades](#getTrades)
- [getOpenTrades](#getOpenTrades)
- [getClosedTrades](#getClosedTrades)
- [getCloseWhenTradeableTrades](#getCloseWhenTradeableTrades)
- [getAllTrades](#getAllTrades)
- [getAllOpenTrades](#getAllOpenTrades)
- [getTrade](#getTrade)
- [closeTrade](#closeTrade)
- [setTradeClientExtensions](#setTradeClientExtensions)
- [setTradeOrders](#setTradeOrders)
- Orders
- [getOrders](#getOrders)
- [getPendingOrders](#getPendingOrders)
- [getFilledOrders](#getFilledOrders)
- [getTriggeredOrders](#getTriggeredOrders)
- [getCancelledOrders](#getCancelledOrders)
- [getAllPendingOrders](#getAllPendingOrders)
- [getAllOrders](#getAllOrders)
- [getOrder](#getOrder)
- [cancelOrder](#cancelOrder)
- [setOrderClientExtensions](#setOrderClientExtensions)
- [createMarketOrder](#createMarketOrder)
- [createLimitOrder](#createLimitOrder)
- [createStopOrder](#createStopOrder)
- [createMarketIfTouchedOrder](#createMarketIfTouchedOrder)
- [createTakeProfitOrder](#createTakeProfitOrder)
- [createStopLossOrder](#createStopLossOrder)
- [createGuaranteedStopLossOrder](#createGuaranteedStopLossOrder)
- [createTrailingStopLossOrder](#createTrailingStopLossOrder)
- [replaceWithMarketOrder](#replaceWithMarketOrder)
- [replaceWithLimitOrder](#replaceWithLimitOrder)
- [replaceWithStopOrder](#replaceWithStopOrder)
- [replaceWithMarketIfTouchedOrder](#replaceWithMarketIfTouchedOrder)
- [replaceWithTakeProfitOrder](#replaceWithTakeProfitOrder)
- [replaceWithStopLossOrder](#replaceWithStopLossOrder)
- [replaceWithGuaranteedStopLossOrder](#replaceWithGuaranteedStopLossOrder)
- [replaceWithTrailingStopLossOrder](#replaceWithTrailingStopLossOrder)---
## Accounts
Oanda reference: [Account Endpoints](https://developer.oanda.com/rest-live-v20/account-ep/)
### getAccounts
- Get list of accounts
- `getAccounts(callback)`
- Callback data: array `[]`### getAccountsMeta
- Get summary details of a list of accounts
- `getAccountsMeta(callback)`
- Callback data: array `[]`### getAccount
- Get full details of a single account
- `getAccount(account,callback)`
- Callback data: object `{}`### getAccountSummary
- Get summary details of a single account
- `getAccountSummary(account,callback)`
- Callback data: object `{}`### getAccountInstruments
- Get a list of tradeable instruments
- `getAccountInstruments(account,callback,options)`
- Callback data: array `[]`### getAccountChangesSinceTransaction
- Get changes to account since a specific transaction id
- `getAccountChangesSinceTransaction(account,transactionID,callback)`
- Callback data: object `{}`### setAccountConfiguration
- Set the client-configurable portions on an account
- `setAccountConfiguration(account,callback,options)`
- Callback data: object `{}`---
## Instrument
Oanda reference: [Instrument Endpoints](https://developer.oanda.com/rest-live-v20/instrument-ep/)
### getInstrument
- Get candlestick data for an instrument
- `getInstrument(instrument,callback,options)`
- Callback data: array `[]`### getOrderBook
- Get order book data for an instrument
- `getOrderBook(instrument,callback,options)`
- Callback data: object `{}`### getPositionBook
- Get position book data for an instrument
- `getPositionBook(instrument,callback,options)`
- Callback data: object `{}`---
## Positions
Oanda reference: [Position Endpoints](https://developer.oanda.com/rest-live-v20/position-ep/)
### getPositions
- List positions for the lifetime of an account
- `getPositions(account,callback)`
- Callback data: array `[]`### getPosition
- Get details of an instrument position
- `getPosition(account,instrument,callback)`
- Callback data: object `{}`### getOpenPositions
- List positions with open trades
- `getOpenPositions(account,callback)`
- Callback data: array `[]`### closePosition
- Fully or partially close an open position
- `closePosition(account,instrument,callback,options)`
- Callback data: object `{}`---
## Transactions
Oanda reference: [Transaction Endpoints](https://developer.oanda.com/rest-live-v20/transaction-ep/)
### getTransactions
- Get a list of transaction pages
- `getTransactions(account,callback,options)`
- Callback data: object `{}`### getTransaction
- Get details of a single transaction
- `getTransaction(account,transactionID,callback)`
- Callback data: object `{}`### getTransactionsByIdRange
- Get a list of transactions by transaction id range
- `getTransactionsByIdRange(account,from,to,callback,options)`
- Callback data: array `[]`### getTransactionsSinceId
- Get a list of transactions starting after a specified transaction id
- `getTransactionsSinceId(account,id,callback,options)`
- Callback data: array `[]`---
## Pricing
Oanda reference: [Pricing Endpoints](https://developer.oanda.com/rest-live-v20/pricing-ep/)
### getInstrumentsPricing
- Get pricing details for a list of instruments
- `getInstrumentsPricing(account,instruments,callback,options)`
- Callback data: array `[]`---
## Trades
Oanda reference: [Trade Endpoints](https://developer.oanda.com/rest-live-v20/trade-ep/)
### getTrades
- Get a list of trades by account
- `getTrades(account,callback,options)`
- Callback data: array `[]`### getOpenTrades
- Get a list of open trades by account
- `getOpenTrades(account,callback,options)`
- Callback data: array `[]`### getClosedTrades
- Get a list of closed trades by account
- `getClosedTrades(account,callback,options)`
- Callback data: array `[]`### getCloseWhenTradeableTrades
- Get a list of Close-when-tradeable trades by account
- `getCloseWhenTradeableTrades(account,callback,options)`
- Callback data: array `[]`### getAllTrades
- Get a list of all trades by account
- `getAllTrades(account,callback,options)`
- Callback data: array `[]`### getAllOpenTrades
- Get a list of all open trades by account
- `getAllOpenTrades(account,callback)`
- Callback data: array `[]`### getTrade
- Get details of a single trade
- `getTrade(account,tradeSpecifier,callback)`
- Callback data: object `{}`### closeTrade
- Fully or partially close an open trade
- `closeTrade(account,tradeSpecifier,callback,options)`
- Callback data: object `{}`### setTradeClientExtensions
- 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:
- [Client Extensions](https://developer.oanda.com/rest-live-v20/transaction-df/#ClientExtensions)### setTradeOrders
- 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:
- [Take Profit Details](https://developer.oanda.com/rest-live-v20/transaction-df/#TakeProfitDetails)
- [Stop Loss Details](https://developer.oanda.com/rest-live-v20/transaction-df/#StopLossDetails)
- [Guaranteed Stop Loss Details](https://developer.oanda.com/rest-live-v20/transaction-df/#GuaranteedStopLossDetails)
- [Trailing Stop Loss Details](https://developer.oanda.com/rest-live-v20/transaction-df/#TrailingStopLossDetails)---
## Orders
Oanda reference: [Order Endpoints](https://developer.oanda.com/rest-live-v20/order-ep/)
### getOrders
- Get a list of orders
- `getOrders(account,callback,options)`
- Callback data: array `[]`### getPendingOrders
- Get a list of pending orders
- `getPendingOrders(account,callback,options)`
- Callback data: array `[]`### getFilledOrders
- Get a list of filled orders
- `getFilledOrders(account,callback,options)`
- Callback data: array `[]`### getTriggeredOrders
- Get a list of triggered orders
- `getTriggeredOrders(account,callback,options)`
- Callback data: array `[]`### getCancelledOrders
- Get a list of cancelled orders
- `getCancelledOrders(account,callback,options)`
- Callback data: array `[]`### getAllPendingOrders
- Get a list of all pending orders
- `getAllPendingOrders(account,callback)`
- Callback data: array `[]`### getAllOrders
- Get a list of all orders
- `getAllOrders(account,callback,options)`
- Callback data: array `[]`### getOrder
- Get details of a single order
- `getOrder(account,orderSpecifier,callback)`
- Callback data: object `{}`### cancelOrder
- Cancel a pending order
- `cancelOrder(account,orderSpecifier,callback)`
- Callback data: object `{}`### setOrderClientExtensions
- 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](https://developer.oanda.com/rest-live-v20/transaction-df/#ClientExtensions)### createMarketOrder
- 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](https://developer.oanda.com/rest-live-v20/order-df/#MarketOrderRequest)### createLimitOrder
- 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](https://developer.oanda.com/rest-live-v20/order-df/#LimitOrderRequest)### createStopOrder
- 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](https://developer.oanda.com/rest-live-v20/order-df/#StopOrderRequest)### createMarketIfTouchedOrder
- 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](https://developer.oanda.com/rest-live-v20/order-df/#MarketIfTouchedOrderRequest)### createTakeProfitOrder
- 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](https://developer.oanda.com/rest-live-v20/order-df/#TakeProfitOrderRequest)### createStopLossOrder
- 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](https://developer.oanda.com/rest-live-v20/order-df/#StopLossOrderRequest)### createGuaranteedStopLossOrder
- 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](https://developer.oanda.com/rest-live-v20/order-df/#GuaranteedStopLossOrderRequest)### createTrailingStopLossOrder
- 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](https://developer.oanda.com/rest-live-v20/order-df/#TrailingStopLossOrderRequest)### replaceWithMarketOrder
- 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](https://developer.oanda.com/rest-live-v20/order-df/#MarketOrderRequest)### replaceWithLimitOrder
- 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](https://developer.oanda.com/rest-live-v20/order-df/#LimitOrderRequest)### replaceWithStopOrder
- 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](https://developer.oanda.com/rest-live-v20/order-df/#StopOrderRequest)### replaceWithMarketIfTouchedOrder
- 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](https://developer.oanda.com/rest-live-v20/order-df/#MarketIfTouchedOrderRequest)### replaceWithTakeProfitOrder
- 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](https://developer.oanda.com/rest-live-v20/order-df/#TakeProfitOrderRequest)### replaceWithStopLossOrder
- 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](https://developer.oanda.com/rest-live-v20/order-df/#StopLossOrderRequest)### replaceWithGuaranteedStopLossOrder
- 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](https://developer.oanda.com/rest-live-v20/order-df/#GuaranteedStopLossOrderRequest)### replaceWithTrailingStopLossOrder
- 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](https://developer.oanda.com/rest-live-v20/order-df/#TrailingStopLossOrderRequest)---