OPAL
OPAL copied to clipboard
Traders can practice and refine price action skills with this Django web app.
OPAL: Price Action Learning aids
Traders can practice and refine their price action skills with this Django web app.
Deployed site: Desktop layout / mobile layout
Features
- Historical data bar-by-bar replaying and fast forwarding
- Implemented with WebSocket and auto prefetch mechanism for smoother experience
- Utilize zlib compression for lower bandwidth usage
- Dual time frame charts (H1 and M5) with synced status
- Draw Daily open price (as an important potential support/resistance)
- Select between different tickers
- Jump to a specified time
- Alerts
- Buy/Sell orders
- Positions calculation
- Customizable chart options (timezone, colors, etc.)
Hotkeys
Space/→: Step one barF: Fast forward 24 bars, or until triggers an alert/orderZ/←: Stepback one bar- Hover over the charts:
A: AlertB: Buy orderS: Sell orderD: Toggle price panelG: Go to hovered time
- Scales:
Q: Fit to left chartW/E: Fit to right chartR: Reset all scales
How to deploy locally
- (Optional) Put your historical data into
static/PriceDatafolder - Install Python (tested with v3.11.4) and dependencies:
pip install -r requirements.txt python manage.py migratepython manage.py runserver- Browse
http://127.0.0.1:8000/
How to deploy to render.com
- Create a Web Service with this repo
- Set Start Command as:
daphne mysite.asgi:application --port $PORT --bind 0.0.0.0 -v2 - Add Environment Variables:
PYTHON_VERSION:3.11.4ALLOWED_HOSTS: (deployed service url, e.g.xxxx-xxxx.onrender.com)SECRET_KEY:my_Pr3c10uSSSsssDEBUG:0
- Manual Deploy -> Clear build cache & deploy
Developer's Note
Backend main logic:
Frontend main logic: