diff --git a/.env.example b/.env.example index aeab2ba..45bae13 100644 --- a/.env.example +++ b/.env.example @@ -4,3 +4,4 @@ SYMBOL=XRPUSDT LEVERAGE=10 RISK_PER_TRADE=0.02 DISCORD_WEBHOOK_URL= +ML_THRESHOLD=0.55 diff --git a/Jenkinsfile b/Jenkinsfile index 014706d..3487fdd 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,7 +2,7 @@ pipeline { agent any environment { - REGISTRY = '10.1.10.28:3000' + REGISTRY = 'git.gihyeon.com' IMAGE_NAME = 'gihyeon/cointrader' IMAGE_TAG = "${env.BUILD_NUMBER}" FULL_IMAGE = "${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG}" @@ -29,7 +29,7 @@ pipeline { steps { git branch: 'main', credentialsId: 'gitea-cred', - url: 'http://10.1.10.28:3000/gihyeon/cointrader.git' + url: 'https://git.gihyeon.com/gihyeon/cointrader.git' } } diff --git a/src/bot.py b/src/bot.py index 7e6ed28..75f0038 100644 --- a/src/bot.py +++ b/src/bot.py @@ -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 diff --git a/src/config.py b/src/config.py index 7914e5e..86bee31 100644 --- a/src/config.py +++ b/src/config.py @@ -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")) diff --git a/src/ml_filter.py b/src/ml_filter.py index d33b430..0fca131 100644 --- a/src/ml_filter.py +++ b/src/ml_filter.py @@ -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)