Commit Graph

13 Commits

Author SHA1 Message Date
Brent Neale d843e63e7b Add pivot point support/resistance chart to dashboard
Add Classic Pivot Points (P, R1-R3, S1-S3) computed from previous day's
OHLC data, displayed as horizontal lines on an interactive Plotly.js
candlestick chart at /chart with instrument/granularity selectors.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:28:58 +10:00
Brent Neale f4734f57c7 Optimize strategy to SMA 50/100 with RSI 80/20 filtering
Added parameter sweep tool that tested 320 combinations across SMA periods,
trade sizes, and RSI filters. Best result: SMA 50/100 on M15 with RSI 80/20
(Sharpe 5.69, 49% win rate). Updated backtester with RSI overbought/oversold
signal filtering and config to match optimal parameters.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 14:17:55 +10:00
Brent Neale 212f581d01 Add web dashboard, historical data loader, and backtest reporting
- Add Flask dashboard with status, config editor, logs, kill switch,
  and backtest results pages with monthly P&L breakdowns
- Add historical_loader.py for paginated OANDA candle fetching (1yr+)
- Update backtester to $100k starting equity, monthly P&L computation,
  and JSON summary output for dashboard display
- Update config to EUR_USD only on M5/M15 with SMA 21/50 strategy
- Add backtest.html template with performance metrics and bar charts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 13:29:12 +10:00
Brent Neale ef950f25dd Add Docker setup with AI ensemble integration and execution loop
Dockerize the order executor with python:3.11-slim, add docker-compose
with config volume mount for hot-reload of system.yaml settings. Integrate
AI ensemble validation into order execution pipeline and add configurable
interval loop (default 60s) to replace container restart cycling.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 17:19:20 +10:00
Brent Neale 426f5e7d49 Add paper trading order executor with kill switch and order logging
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 16:11:19 +10:00
Brent Neale 187ebe9a9e Add backtesting engine with SMA cross strategy
Reads features from Supabase, simulates SMA(3)/SMA(20) crossover signals,
and outputs P&L, drawdown, and trade logs per instrument/granularity.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 15:58:00 +10:00
Brent Neale 31c74d4e5f Add project settings, master prompt PDF, and test connection script
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 15:44:51 +10:00
Brent Neale 71f9c7849b Fix NaN serialization and upsert response handling in upload
Sanitize NaN/inf values that pandas re-introduces into float columns
after conversion, preventing JSON serialization errors. Fix upsert
response check to detect success via resp.data instead of status_code.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 15:42:17 +10:00
Brent Neale da64544d3a Add granularity tracking, drop intermediate columns, add SQL schema
Track granularity (M1/M5) through the pipeline so rows are
distinguishable after upload. Drop helper columns (tr, typical_price,
pv) from the feature DataFrame. Add SQL schema with composite PK on
(time, instrument, granularity).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 15:34:13 +10:00
Brent Neale 0d0c363bfa Add config-driven system.yaml and multi-window indicators
- Create config/system.yaml with full master prompt template
- Create src/config_loader.py to load YAML config and .env
- Update data_engine.build_all_features() to support lists of windows
  (e.g. sma_windows: [3, 20] produces sma_3 and sma_20 columns)
- Rewrite get_candles.py to loop over all instruments × granularities
  from config instead of hardcoding EUR_USD/M5
- Fix supabase_upload.py indentation bug and wire up config for table name

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 15:22:07 +10:00
Brent Neale 256dffaae1 Update environment requirements 2026-02-16 13:16:51 +10:00
Brent Neale e459eaed2c Setup environment 2026-02-16 13:07:12 +10:00
BrentNeale1 cdc5df8a81 Initial commit 2026-02-16 13:01:24 +10:00