feat: update ML threshold and configuration for improved model performance

- Added ML_THRESHOLD to .env.example and updated Config class to include ml_threshold with a default value of 0.55.
- Modified MLFilter initialization in bot.py to utilize the new ml_threshold configuration.
- Updated Jenkinsfile to change the registry URL for Docker image management.

These changes enhance the model's adaptability by allowing for a configurable machine learning threshold, improving overall performance.
This commit is contained in:
21in7
2026-03-03 20:09:03 +09:00
parent 6fe2158511
commit 292ecc3e33
5 changed files with 7 additions and 4 deletions

View File

@@ -18,7 +18,7 @@ class TradingBot:
self.exchange = BinanceFuturesClient(config)
self.notifier = DiscordNotifier(config.discord_webhook_url)
self.risk = RiskManager(config)
self.ml_filter = MLFilter()
self.ml_filter = MLFilter(threshold=config.ml_threshold)
self.current_trade_side: str | None = None # "LONG" | "SHORT"
self._entry_price: float | None = None
self._entry_quantity: float | None = None

View File

@@ -19,6 +19,7 @@ class Config:
margin_max_ratio: float = 0.50
margin_min_ratio: float = 0.20
margin_decay_rate: float = 0.0006
ml_threshold: float = 0.55
def __post_init__(self):
self.api_key = os.getenv("BINANCE_API_KEY", "")
@@ -29,3 +30,4 @@ class Config:
self.margin_max_ratio = float(os.getenv("MARGIN_MAX_RATIO", "0.50"))
self.margin_min_ratio = float(os.getenv("MARGIN_MIN_RATIO", "0.20"))
self.margin_decay_rate = float(os.getenv("MARGIN_DECAY_RATE", "0.0006"))
self.ml_threshold = float(os.getenv("ML_THRESHOLD", "0.55"))

View File

@@ -33,7 +33,7 @@ class MLFilter:
self,
onnx_path: str = str(ONNX_MODEL_PATH),
lgbm_path: str = str(LGBM_MODEL_PATH),
threshold: float = 0.60,
threshold: float = 0.55,
):
self._disabled = os.environ.get("NO_ML_FILTER", "").lower() in ("1", "true", "yes")
self._onnx_path = Path(onnx_path)