marketcalls / openalgo

Open Source Algo Trading Platform for Everyone
https://docs.openalgo.in
GNU Affero General Public License v3.0
150 stars 68 forks source link
algorithmic-trading algotrading amibroker api-rest flask metatrader openalgo python quantative-trading quantitative-finance sqlite stock-market stocks technical-analysis trading-bot trading-bridge trading-platform tradingview

OpenAlgo - Take Control of Your Algo Platform

OpenAlgo is an open-source, Flask-based Python application designed to bridge the gap between traders and major trading platforms such as Amibroker, Tradingview, Excel, and Google Spreadsheets. With a focus on simplifying algotrading, OpenAlgo facilitates easy integration, automation, and execution of trading strategies, providing a user-friendly interface to enhance trading performance.

What is OpenAlgo?

What is OpenAlgo

Supported Broker

Features

Documentation

We encourage you to read the OpenAlgo documentation to ensure you understand how the application is working.

For detailed documentation on OpenAlgo, including setup guides, API references, and usage examples, refer to https://docs.openalgo.in

Minimum hardware required

To run OpenAlgo we recommend you a cloud instance / Desktop / Laptop with a minimum configuration of:

Contributing

We welcome contributions to OpenAlgo! If you're interested in improving the application or adding new features, please feel free to fork the repository, make your changes, and submit a pull request.

License

OpenAlgo is released under the AGPL V3.0 License. See the LICENSE file for more details.

Contact

For support, feature requests, or to contribute further, please contact us via GitHub issues.


Getting Started with OpenAlgo

Installation Procedure

OpenAlgo Windows Installation Tutorial

Prerequisites

Before we begin, ensure you have the following:

Setup

  1. Install VS Code Extensions: Open VS Code, navigate to the Extensions section on the left tab, and install the Python, Pylance, and Jupyter extensions.
  2. Clone the Repository: Open the VS Code Terminal and clone the OpenAlgo repository with the command:

git clone https://github.com/marketcalls/openalgo

  1. Install Dependencies:

Windows users Navigate to the directory where OpenAlgo is cloned and execute:

pip install -r requirements.txt

Linux/Nginx users Navigate to the directory where OpenAlgo is cloned and execute: pip install -r requirements-nginx.txt

to install the necessary Python libraries.

  1. Configure Environment Variables:

Rename the .sample.env file located in openalgo folder to .env

Update the .env with your specific configurations as shown in the provided template.

  1. Run the Application:

From the openalgo directory, start the Flask application with the command:

python app.py

If you are using nginx it is recommded to execute using gunicorn with eventlet or gevent (in this app we are using eventlet).
gunicorn --worker-class eventlet -w 1 app:app

In case of running using Gunicorn, -w 1 specifies that you should only use one worker process. This is important because WebSocket connections are persistent and stateful; having more than one worker would mean that a user could be switched between different workers, which would break the connection.

Accessing OpenAlgo

After completing the setup, access the OpenAlgo platform by navigating to http://127.0.0.1:5000 in your web browser. Setup the account using http://127.0.0.1:5000/setup Login into openalgo with the credentials and start using OpenAlgo for Automation.

Connecting Trading Platforms

You can now connect your Amibroker and Tradingview modules to transmit orders, and use the Flask application to monitor trades.

Generate the APP API Key

Goto the API Key Section and Generate the APP API Key. And use it to placeorder from your trading applicaton

Windows, Mac OS and Linux Complete Configuration Instructions

For Configuration Instructions Visit the Tutorial https://docs.openalgo.in

Congratulations! You have successfully set up OpenAlgo. Explore the platform and start maximizing your trading performance through automation.

Star History

Star History Chart

Disclaimer

This software is for educational purposes only. Do not risk money which you are afraid to lose. USE THE SOFTWARE AT YOUR OWN RISK. THE AUTHORS AND ALL AFFILIATES ASSUME NO RESPONSIBILITY FOR YOUR TRADING RESULTS.

Support

Help / Discord

For any questions not covered by the documentation or for further information about the openalgo, or to simply engage with like-minded individuals, we encourage you to join the OpenAlgo discord server.