tune xauusd template for 1m chart

This commit is contained in:
Stanley Isaac
2026-04-07 21:29:29 +00:00
parent 662cb8e6b7
commit 61e3270221
3 changed files with 11 additions and 10 deletions
+4 -3
View File
@@ -4,7 +4,7 @@ Custom Python precision-breakout baseline for XAUUSD.
This project avoids ML on purpose. It is useful as a transparent benchmark to compare against heavier gold models like XGBoost or LightGBM.
The default gate is intentionally selective for small accounts. It prioritizes avoiding churn over forcing trades. The continuation paths are available as parameters, but they are disabled by default because one-day lab tests showed the stricter breakout profile had cleaner drawdown.
The default gate is tuned for the `1m` XAUUSD chart and small accounts. It prioritizes controlled churn over forcing oversized trades. The continuation paths are available as parameters, but they are disabled by default because one-day lab tests showed the stricter breakout profile had cleaner drawdown.
It includes:
@@ -17,8 +17,9 @@ It includes:
Current defaults:
- `lookback`: `96`
- `breakout_window`: `24`
- `atr_mult`: `0.03`
- `timeframe`: `1m`
- `breakout_window`: `45`
- `atr_mult`: `0.02`
- `near_breakout_atr`: `0.18`
- `pullback_atr`: `0.35`
- `min_momentum_atr`: `0`
@@ -1,14 +1,14 @@
{
"pair": "XAUUSD",
"timeframe": "15m",
"timeframe": "1m",
"model_family": "custom Python",
"runtime_target": "modal",
"artifact_format": "python_bundle",
"parameters": {
"lookback": 96,
"atr_window": 14,
"breakout_window": 24,
"atr_mult": 0.03,
"breakout_window": 45,
"atr_mult": 0.02,
"near_breakout_atr": 0.18,
"pullback_atr": 0.35,
"min_momentum_atr": 0,
+4 -4
View File
@@ -29,8 +29,8 @@ def train(data, config):
"params": {
"lookback": int(params.get("lookback", 96)),
"atr_window": int(params.get("atr_window", 14)),
"breakout_window": int(params.get("breakout_window", 24)),
"atr_mult": float(params.get("atr_mult", 0.03)),
"breakout_window": int(params.get("breakout_window", 45)),
"atr_mult": float(params.get("atr_mult", 0.02)),
"near_breakout_atr": float(params.get("near_breakout_atr", 0.18)),
"pullback_atr": float(params.get("pullback_atr", 0.35)),
"min_momentum_atr": float(params.get("min_momentum_atr", 0.0)),
@@ -47,8 +47,8 @@ def predict(model, market_data, config):
params = {**model.get("params", {}), **config.get("parameters", {})}
lookback = int(params.get("lookback", 96))
atr_window = int(params.get("atr_window", 14))
breakout_window = int(params.get("breakout_window", 24))
atr_mult = float(params.get("atr_mult", 0.03))
breakout_window = int(params.get("breakout_window", 45))
atr_mult = float(params.get("atr_mult", 0.02))
near_breakout_atr = float(params.get("near_breakout_atr", 0.18))
pullback_atr = float(params.get("pullback_atr", 0.35))
min_momentum_atr = float(params.get("min_momentum_atr", 0.0))