OpenAlgo is a self-hosted, Python-based platform designed to automate trading orders efficiently and effortlessly. Developed using the Flask framework and Tailwind CSS, OpenAlgo offers a user-friendly interface and leverages a robust SQLite database for local data management. Whether running on a personal desktop, laptop, or deployed on a server, OpenAlgo provides the flexibility required for various trading setups.
Download OpenAlgo from GitHub to get started with automating your trading strategies today.
- Smart Order Placement: Execute trades swiftly and efficiently with advanced order placement capabilities.
- Automated Square-off: Utilize one-click and time-based auto square-off functionalities to optimize trading outcomes.
- Local Data Storage: Ensure maximum privacy and control with your data securely stored on your local device.
- Interactive UI Interface: Enjoy a seamless trading experience with a clean and intuitive user interface.
- Comprehensive API Log Management: Analyze and refine your trading strategies with detailed log management.
- Versatile API Access: Supports local API access, Ngrok based internet access, and hosted API access for flexible connectivity.
- Data Ownership: Maintain complete ownership of your data, affirming OpenAlgo's commitment to privacy and control.
- Rapid Execution: Minimize slippage and maximize potential with faster trade execution.
- Custom Webhook URL: Customize and integrate with your preferred trading applications through webhook URLs.
OpenAlgo is licensed under the MIT License. See the LICENSE file for more details.
For a detailed understanding of each API's behavior and capabilities, refer to the OpenAlgo REST API Documentation.
pip install openalgo
After installation, import OpenAlgo and initialize the API client with your credentials:
from openalgo.orders import api
# Initialize the API client
my_api = api(api_key="your_api_key")
To create an API object, provide your API key, and optionally, the host URL and API version:
my_api = api(api_key="your_api_key_here", host="http://127.0.0.1:5000", version="v1")
Utilize the methods by calling them with the necessary parameters. Here are some examples:
response = my_api.placeorder(symbol="RELIANCE-EQ", action="BUY", exchange="NSE", quantity=1)
print(response)
response = my_api.modifyorder(order_id="12345678", symbol="INFY-EQ", action="SELL", exchange="NSE", product="CNC", quantity=2, price=1500)
print(response)
response = my_api.cancelorder(order_id="12345678")
print(response)
response = my_api.closeposition(strategy="MyStrategy")
print(response)
response = my_api.cancelallorder(strategy="MyStrategy")
print(response)
For more detailed usage and additional methods, refer to the OpenAlgo REST API Documentation