Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.novosky.app/llms.txt

Use this file to discover all available pages before exploring further.

What is NOVOSKY?

NOVOSKY is a live BTCUSD M15 trading system that combines a 4-model ML ensemble with a fully autonomous weekly optimization pipeline. It ingests real-time candles, scores every bar with three signal models, filters trades through circuit breakers, sizes positions dynamically via an equity-aware risk multiplier, and manages open positions with a dedicated hold/exit model. Every Sunday at 2 am UTC it retrains itself β€” SHAP analysis, Optuna hyperparameter search, fresh model training, config sweep, OOS validation β€” then either commits the improvement or rolls back automatically. Zero human input required after initial setup.

For traders

Install, run the onboarding wizard, answer 6 questions about your risk tolerance, and let the bot trade 24/7. No coding required.

For developers

Full Python codebase. Sweep configs, retrain models, run backtests, push to Hugging Face Hub.

For ML researchers

4-model ensemble with 62 engineered features. LightGBM risk multiplier, dynamic SL/TP regression, SHAP-driven feature analysis, Optuna tuning loop.

Go binary distribution

Compiled binary with all models embedded. License-locked per MT5 account. Customers receive one executable β€” no Python, no model files, no HF Hub.

Live performance

Performance is updated after each weekly optimization run. The OOS window uses the final 30% of data as a true holdout β€” never seen by the sweep.
MetricLatest OOS result
Win rate71.7%
Profit factor5.46
Max drawdown4.3%
Sharpe ratio59.54
Return+194.6%
Trades (37d OOS)184
Score18.48
Phase 17.3 β€” May 2026. OOS period: 37 days. See Performance for full history and methodology.

How it works

See How it works for a full walkthrough of each stage.

Key capabilities

4-model ML ensemble

Signal model (RF + XGB + LGB majority vote), position model (HOLD/EXIT/ADD), dynamic SL/TP regression, and a risk multiplier that scales exposure with equity health.

Autonomous weekly retraining

13-phase pipeline runs every Sunday: data refresh β†’ SHAP β†’ Optuna β†’ retrain (4 models) β†’ sweep β†’ OOS validation β†’ auto-rollback if score drops.

5-profile risk system

From Steady Income (0.5% risk/trade) to Aggressive (4%). Every profile has a hard halt that calls sys.exit(99) before margin call is even close.

Broker-agnostic design

Broker-agnostic by design. Symbol, account type, pip value, digits, and server UTC offset are all auto-detected from the live MT5 API. Currently running on RoboForex BTCUSD at 1:500 leverage.

Equity-aware position sizing

Lot size scales with account equity. The SL/TP hard cap adjusts automatically so drawdown never exceeds your profile’s limit regardless of account size.

Model calibration pipeline

After every retrain, calibrate_models() runs automatically. Inference priority: calibrated pkl β†’ ONNX β†’ raw pkl. Hugging Face Hub stores all revisions.

Quick start

1

Clone and install

git clone <repo> && cd novosky
python3.11 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
2

Run the onboarding wizard

python scripts/onboarding.py --balance 500
The wizard configures your .env, pulls the latest models from Hugging Face Hub, asks 6 risk questions, and runs the first optimization. Takes ~2.5 hours.
3

Go live

python trading.py --dry    # dry run first β€” no real orders
python trading.py          # live
Want to skip the optimization and trade with current models immediately?
python ml/hf_hub.py --pull
python trading.py --dry
python trading.py
See Quick start for full prerequisites and setup options.