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 bar -
F
: Fast forward 24 bars, or until triggers an alert/order -
Z
/←
: Stepback one bar - Hover over the charts:
-
A
: Alert -
B
: Buy order -
S
: Sell order -
D
: Toggle price panel -
G
: Go to hovered time
-
- Scales:
-
Q
: Fit to left chart -
W
/E
: Fit to right chart -
R
: Reset all scales
-
How to deploy locally
- (Optional) Put your historical data into
static/PriceData
folder - Install Python (tested with v3.11.4) and dependencies:
pip install -r requirements.txt
-
python manage.py migrate
-
python 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.4
-
ALLOWED_HOSTS
: (deployed service url, e.g.xxxx-xxxx.onrender.com
) -
SECRET_KEY
:my_Pr3c10uSSSsss
-
DEBUG
:0
-
- Manual Deploy -> Clear build cache & deploy
Developer's Note
Backend main logic:
Frontend main logic: