Brokerages
Oanda
Introduction
The Lean CLI supports local live trading with all brokerages supported by LEAN, which makes the transfer from backtesting to live trading as seamless as possible. The Lean CLI also supports starting live trading for a cloud project on any of the brokerages supported in the cloud. We recommend live trading your projects in our cloud because we provide a battle-tested, colocated infrastructure racked in Equinix, maintained by our engineers to ensure the best possible stability and uptime. This page contains instructions on how to start live trading with the Oanda brokerage.
To view the implementation of the Oanda brokerage integration, see the Lean.Brokerages.OANDA repository.
Deploy Local Algorithms
Follow these steps to start local live trading with the Oanda brokerage:
- Open a terminal in the organization workspace that contains the project.
- Run
lean live "<projectName>"
to start a live deployment wizard for the project in . / <projectName> and then enter the brokerage number.$ lean live "My Project" Select a brokerage: 1) Paper Trading 2) Interactive Brokers 3) Tradier 4) OANDA 5) Bitfinex 6) Coinbase Pro 7) Binance 8) Zerodha 9) Samco 10) Terminal Link 11) Atreyu 12) Trading Technologies 13) Kraken 14) TD Ameritrade Enter an option:
- Enter the environment to use. Enter
Trade
for fxTrade orPractice
for fxTrade Practice.$ lean live "My Project" Environment? (Practice, Trade): Trade
- Enter your OANDA account ID.
$ lean live "My Project" Account id: 001-011-5838423-001
- Enter your OANDA API token.
$ lean live "My Project" API token: ****************
- Enter the number of the data feed to use and then follow the steps required for the data connection.
$ lean live "My Project" Select a data feed: 1) Interactive Brokers 2) Tradier 3) Oanda 4) Bitfinex 5) Coinbase Pro 6) Binance 7) Zerodha 8) Samco 9) Terminal Link 10) Kraken 11) TD Ameritrade 12) IQFeed 13) Polygon Data Feed 14) Custom data only To enter multiple options, separate them with comma.:
-
View the result in the <projectName> / live / <timestamp> directory.
Results are stored in real-time in JSON format.
You can save results to a different directory by providing the
--output <path>
option in step 2.
If you select IQFeed, see IQFeed for set up instructions.
If you select Polygon Data Feed, see Polygon for set up instructions.
If you already have a live environment configured in your Lean configuration file, you can skip the interactive wizard by providing the --environment <value>
option in step 2.
The value of this option must be the name of an environment which has live-mode
set to true
.
Deploy Cloud Algorithms
Follow these steps to start live trading a project in the cloud with the Oanda brokerage:
- Log in to the CLI if you haven't done so already.
- Open a terminal in the organization workspace that contains the project.
- Run
lean cloud live "<projectName>" --push --open
to push . / <projectName>. to the cloud, start a live deployment wizard, and open the results in the browser once the deployment starts.$ lean cloud live "My Project" --push --open [1/1] Pushing 'My Project' Successfully updated cloud file 'My Project/main.py' Started compiling project 'My Project' Successfully compiled project 'My Project' Select a brokerage: 1) Paper Trading 2) Interactive Brokers 3) Tradier 4) Oanda 5) Bitfinex 6) Coinbase Pro 7) Binance 8) Zerodha 9) Samco 10) Trading Technologies 11) Kraken 12) TD Ameritrade Enter an option:
- Enter the number of the Oanda brokerage.
- Enter the environment to use. Enter
Trade
for fxTrade orPractice
for fxTrade Practice.$ lean cloud live "My Project" --push --open Environment? (Practice, Trade):
- Enter your OANDA account ID.
$ lean cloud live "My Project" --push --open Account id: 001-011-5838423-001
- Enter your OANDA API token.
$ lean cloud live "My Project" --push --open API token: ****************
- Select the live node that you want to use. If you only have one idle live trading node, it is selected automatically and this step is skipped.
$ lean cloud live "My Project" --push --open Select a node: 1) L-MICRO node 89c90172 - 1 CPU @ 2.4GHz, 0.5GB Ram 2) L-MICRO node 85a52135 - 1 CPU @ 2.4GHz, 0.5GB Ram Enter an option: 1
- Configure your notification settings. You can configure any combination of email, webhook, SMS, and Telegram notifications for order events and emitted insights. To view the number of notification you can send for free, see the Live Trading Notification Quotas.
$ lean cloud live "My Project" --push --open Do you want to send notifications on order events? [y/N]: y Do you want to send notifications on insights? [y/N]: y Email notifications: None Webhook notifications: None SMS notifications: None Select a notification method: 1) Email 2) Webhook 3) SMS 4) Telegram Enter an option: 1 Email address: john.doe@example.com Subject: Algorithm notification Email notifications: john.doe@example.com Webhook notifications: None SMS notifications: None Telegram notifications: None Do you want to add another notification method? [y/N]: n
- Enable or disable automatic algorithm restarting. This feature attempts to restart your algorithm if it fails due to a runtime error, like a brokerage API disconnection.
$ lean cloud live "My Project" --push --open Do you want to enable automatic algorithm restarting? [Y/n]: y
- Set your initial cash balance.
$ lean cloud live "My Project" --push --open Previous cash balance: [{'currency': 'USD', 'amount': 100000.0}] Do you want to set a different initial cash balance? [y/N]: y Setting initial cash balance... Currency: USD Amount: 95800 Cash balance: [{'currency': 'USD', 'amount': 95800.0}] Do you want to add more currency? [y/N]: n
- Set your initial portfolio holdings.
$ lean cloud live "My Project" --push --open Do you want to set the initial portfolio holdings? [y/N]: y Do you want to use the last portfolio holdings? [] [y/N]: n Setting custom initial portfolio holdings... Symbol: GOOG Symbol ID: GOOCV VP83T1ZUHROL Quantity: 10 Average Price: 50 Portfolio Holdings: [{'symbol': 'GOOG', 'symbolId': 'GOOCV VP83T1ZUHROL', 'quantity': 10, 'averagePrice': 50.0}] Do you want to add more holdings? [y/N]: n
- Verify the configured settings and confirm them to start the live deployment in the cloud.
$ lean cloud live "My Project" --push --open Brokerage: OandaProject id: 1234567 Environment: Live Server name: L-MICRO node 89c90172 Server type: L-MICRO Data provider: QuantConnect LEAN version: 11157 Order event notifications: Yes Insight notifications: Yes Email notifications: john.doe@example.com Webhook notifications: None SMS notifications: None Telegram notifications: None Initial live cash balance: [{'currency': 'USD', 'amount': 95800.0}] Initial live portfolio holdings: [{'symbol': 'GOOG', 'symbolId': 'GOOCV VP83T1ZUHROL', 'quantity': 10, 'averagePrice': 50.0}] Automatic algorithm restarting: Yes Are you sure you want to start live trading for project 'My Project'? [y/N]: y
- Inspect the result in the browser, which opens automatically after the deployment starts.
Follow these steps to see the live status of a project:
- Log in to the CLI if you haven't done so already.
- Open a terminal in the organization workspace that contains the project.
- Run
lean cloud status "<projectName>"
to show the status of the cloud project named "<projectName>".$ lean cloud status "My Project" Project id: 1234567 Project name: My Project Project url: https://www.quantconnect.com/project/1234567 Live status: Running Live id: L-1234567a8901d234e5e678ddd9b0123c Live url: https://www.quantconnect.com/project/1234567/live Brokerage: OandaLaunched: 2021-06-09 15:10:12 UTC