BTCUSD · M15 SCALPING WIN RATE 78.5% PROFIT FACTOR 3.67 SHARPE 11.18 55 FEATURES · RF + XGB + LGB ENSEMBLE MAX DRAWDOWN 4.3% PHASE 15 · ATR-AWARE LABELS · OPTUNA TUNED BOT: OFFLINE BTCUSD · M15 SCALPING WIN RATE 78.5% PROFIT FACTOR 3.67 SHARPE 11.18 55 FEATURES · RF + XGB + LGB ENSEMBLE MAX DRAWDOWN 4.3% PHASE 15 · ATR-AWARE LABELS · OPTUNA TUNED BOT: OFFLINE
BOT STATUS: LOADING

AI-Powered
BTC Trading
System

ML ensemble of Random Forest + XGBoost + LightGBM trading BTCUSD M15 live on MetaTrader 5 with autonomous risk management.

WIN RATE (OOS)
PROFIT FACTOR
SHARPE RATIO
MAX DRAWDOWN
FEATURES
SCROLL
VERIFIED BACKTEST RESULTS

Performance Metrics

Phase 11 M15 · 55 features · ATR-aware labels · Optuna-tuned. Results from fixed TP/SL evaluation across 4 risk profiles.

Win Rate
78.2%
Profit Factor
3.67
Sharpe Ratio
11.18
Max Drawdown
4.3%
Return
+173%
Trades
225

Strategy Evolution

WIN RATE BY PHASE
Phase 6 (48 feat)
72.8%
Phase 7 (ONNX inference)
80.6%
Phase 8 (Position model)
79.3%
Phase 10 (ATR labels)
78.6%
Phase 11 M15 ★ Active
78.5%
TRUE OUT-OF-SAMPLE · ZERO TRAINING OVERLAP

Real-World Validation

224 days of post-training data — no look-ahead, no cherry-picking.

🎯
OOS Win Rate
57.4%
224 days · Sep 2025 – Apr 2026
📊
OOS Profit Factor
2.23
Zero training overlap
💹
OOS Return
+56,136%
$500 → $281K (max_lot=1 BTC)
Trade Frequency
9.86/day
2,218 trades · 224 days
LIVE BOT STATUS

Real-Time Dashboard

Synced to Supabase · refreshes every 30 seconds

No live data — bot is offline or not yet started

Run python trading.py --dry to test

LIVE EQUITY CURVE

Account Performance

Real account equity from Supabase snapshots

EQUITY
BALANCE
📈

No equity data yet

Snapshots appear as the bot runs

TRADE HISTORY

Recent Trades

📭

No trades recorded yet

Trade history appears as the bot executes

ML ENSEMBLE ARCHITECTURE

How the Models Work

Three independently tuned models vote on each signal. Majority wins — BUY, SELL, or HOLD.

📊
BTCUSD
M15 candles
250 bars
🔧
55 FEATURES
engineered
scaler → vector
🌲
RF
41.8% acc
XGB
43.0% acc
🚀
LGB
42.4% acc
🗳️
VOTE
majority
42.6% ensemble
BUY
SELL
HOLD
🌲
Random Forest
350 estimators, depth 10, log2 features
Test Accuracy 41.8%
Note: ATR-aware labels use 33% baseline — model precision for BUY/SELL ≈ 47-50%
XGBoost
300 estimators, lr=0.147, depth 8
Test Accuracy 43.0%
Note: ATR-aware labels use 33% baseline — model precision for BUY/SELL ≈ 47-50%
🚀
LightGBM
350 estimators, lr=0.077, 108 leaves
Test Accuracy 42.4%
Note: ATR-aware labels use 33% baseline — model precision for BUY/SELL ≈ 47-50%

55 Engineered Features

Phase 13 active
Price Action
8
price_vs_ema50
price_vs_ema200
ema_diff_norm
Momentum
10
rsi_norm
macd_norm
rsi_slope
MTF Ladder
5
m30_trend
m30_rsi_norm
h1_ema_bias
Volatility
7
atr_norm
atr_ratio
volatility_regime
News & Session
7
is_news_near
is_london_session
is_ny_session
Market Structure
8
adx_14
di_diff_norm
trend_strength
⚠️ Protected: is_news_near, is_london_session, is_ny_session, is_asian_session, is_news_risk_window — near-zero at training time by design (live FF calendar data injected each cycle)
TRADING LOOP

How It Works

A fully automated pipeline from raw candle data to live trade execution in under 60 seconds.

01
📡
STEP 01

Fetch M15 Candles

Every ~60 seconds, the bot fetches the latest 250 BTCUSD M15 bars from the MetaTrader 5 REST API.

02
🔧
STEP 02

Engineer 55 Features

Raw OHLCV data is transformed into 55 engineered features: price action, momentum, volatility, session, MTF ladder, and news proximity.

03
🧠
STEP 03

ML Ensemble Vote

RF + XGBoost + LightGBM each produce a probability vector. Majority vote determines BUY, SELL, or HOLD signal.

04
🛡️
STEP 04

Multi-Filter Validation

Signal passes through ATR floor, news block (ForexFactory calendar), EMA trend filter, session filter, and circuit breaker.

05
📐
STEP 05

Dynamic SL/TP Sizing

Stop-loss = 0.8×ATR, Take-profit = 0.8×ATR (precision mode). Lot size calculated via Kelly criterion with risk% cap.

06
STEP 06

Live Execution + Monitoring

Order placed via REST API. Position model (77.16% acc) monitors open trades and can trigger early exit on adverse signals.

LOOP FREQUENCY
~60 second cycle
Market open check → fetch → features → signal → filters → execute → monitor
Timeframe
M15
Symbol
BTCUSD
Broker
VT Markets
Leverage
1:500
Risk/Trade
2%
COMING SOON

Ready to let
AI trade
for you?

NOVOSKY is not yet open to the public. Join the waitlist and be first in line when early access launches.

No spam. One email when early access is ready.

SOON
🤖
Model Thinking
Watch the ML ensemble deliberate in real-time — probabilities, voting weights, and signal confidence visualised as it happens.
📊
Live Dashboard
Full account view with real-time equity curve, open positions, trade history, and Supabase-synced data.
SOON
🔔
Trade Alerts
Push notifications for every signal, execution, SL/TP hit, and circuit-breaker event via Telegram or Discord.