diff --git a/prod/launch_dolphin_violet.py b/prod/launch_dolphin_violet.py index 2822719..d59d93c 100644 --- a/prod/launch_dolphin_violet.py +++ b/prod/launch_dolphin_violet.py @@ -327,11 +327,17 @@ def _build_shadow(): sess = uuid.uuid4().hex capital = float(os.environ.get("DOLPHIN_VIOLET_SHADOW_CAPITAL", "69000")) # engine defaults == live BLUE base curve (max_leverage 9.0, vel_div_threshold -0.02). - engine = VioletDecisionEngine() + # DOLPHIN_VIOLET_ENTRY_VEL_DIV_THRESHOLD relaxes the entry gate VIOLET-ONLY (e.g. to + # exercise the journal on a low-vol day). NOT BLUE-parity-faithful while relaxed. + thr = float(os.environ.get("DOLPHIN_VIOLET_ENTRY_VEL_DIV_THRESHOLD", "-0.02")) + relaxed = abs(thr - (-0.02)) > 1e-9 + engine = VioletDecisionEngine(entry_vel_div_threshold=thr) journal = VioletDecisionJournal(sink=ch_put_violet, session_id=sess) LOGGER.warning( - "VIOLET DECISION SHADOW ON (session=%s ref_capital=%.0f) — journaling muted " - "decisions to dolphin_violet.violet_decisions; NO orders.", sess, capital, + "VIOLET DECISION SHADOW ON (session=%s ref_capital=%.0f entry_thr=%.4f%s) — " + "journaling muted decisions to dolphin_violet.violet_decisions; NO orders.", + sess, capital, thr, + " RELAXED:not-parity-faithful" if relaxed else "", ) return {"engine": engine, "journal": journal, "capital": capital, "mono_ns": mono_ns} diff --git a/prod/supervisor/dolphin-supervisord.conf b/prod/supervisor/dolphin-supervisord.conf index ee973b3..d2684f1 100644 --- a/prod/supervisor/dolphin-supervisord.conf +++ b/prod/supervisor/dolphin-supervisord.conf @@ -74,24 +74,8 @@ environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus rlimit_as=2GB rlimit_nofile=1024 -[program:dolphin_live] -command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/launch_dolphin_bingx.py -directory=/mnt/dolphinng5_predict/prod -autostart=false -autorestart=false -startsecs=15 -startretries=3 -stopwaitsecs=30 -stopasgroup=true -killasgroup=true -stdout_logfile=%(ENV_DOLPHIN_LOG_ROOT)s/supervisor/dolphin_live_prodgreen.log -stdout_logfile_maxbytes=50MB -stdout_logfile_backups=10 -redirect_stderr=true -environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus_dolphin",PREFECT_API_URL="http://localhost:4200/api",PYTHONUNBUFFERED="1",DOLPHIN_DATA_VENUE="BINANCE",DOLPHIN_EXEC_VENUE="BINGX",DOLPHIN_BINGX_ENV="VST",DOLPHIN_BINGX_ALLOW_MAINNET="0",DOLPHIN_TRADER_ID="DOLPHIN-PRODGREEN-001",DOLPHIN_BINGX_DEFAULT_LEVERAGE="1",DOLPHIN_BINGX_PREFER_WEBSOCKET="1",DOLPHIN_BINGX_RECV_WINDOW_MS="60000" - [program:dolphin_pink] -command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/launch_dolphin_pink.py +command=/mnt/dolphinng5_predict/prod/supervisor/run_with_dolphin_env.sh /home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/launch_dolphin_pink.py directory=/mnt/dolphinng5_predict/prod autostart=false autorestart=true @@ -126,11 +110,11 @@ stdout_logfile=%(ENV_DOLPHIN_LOG_ROOT)s/supervisor/dolphin_live_violet.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=10 redirect_stderr=true -environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus_dolphin",PYTHONUNBUFFERED="1",DOLPHIN_DATA_VENUE="BINANCE",DOLPHIN_EXEC_VENUE="BINGX",DOLPHIN_BINGX_ENV="VST",DOLPHIN_BINGX_ALLOW_MAINNET="0",DOLPHIN_TRADER_ID="DOLPHIN-VIOLET-001",DITA_V2_PREFIX="violet",DOLPHIN_BINGX_RECV_WINDOW_MS="60000",DOLPHIN_VIOLET_DARK_DIVERGENCE="1",DOLPHIN_VIOLET_VENUE_MID_MODE="ws" +environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus_dolphin",PYTHONUNBUFFERED="1",DOLPHIN_DATA_VENUE="BINANCE",DOLPHIN_EXEC_VENUE="BINGX",DOLPHIN_BINGX_ENV="VST",DOLPHIN_BINGX_ALLOW_MAINNET="0",DOLPHIN_TRADER_ID="DOLPHIN-VIOLET-001",DITA_V2_PREFIX="violet",DOLPHIN_BINGX_RECV_WINDOW_MS="60000",DOLPHIN_VIOLET_DARK_DIVERGENCE="1",DOLPHIN_VIOLET_VENUE_MID_MODE="ws",DOLPHIN_VIOLET_DECISION_SHADOW="1",DOLPHIN_VIOLET_SHADOW_CAPITAL="69000" ; DITAv2 — supervised kernel, launched separately from the legacy PINK/BLUE stack. [program:dita_v2] -command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/launch_dita_v2.py +command=/mnt/dolphinng5_predict/prod/supervisor/run_with_dolphin_env.sh /home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/launch_dita_v2.py directory=/mnt/dolphinng5_predict/prod autostart=false autorestart=true @@ -268,7 +252,7 @@ environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus ; ============================================================================= [group:dolphin] -programs=nautilus_trader,dolphin_live,scan_bridge,clean_arch_trader,paper_portfolio,dita_v2 +programs=nautilus_trader,scan_bridge,clean_arch_trader,paper_portfolio,dita_v2 priority=999 [group:dita_v2]