session complete: 8-coin fleet, tight RSI gate, watchdog test 70/72, 33/35 unit
This commit is contained in:
11
bot.py
11
bot.py
@@ -405,13 +405,14 @@ def decide(cfg, conn, price):
|
||||
if mode == "DOWN_SPAM": return mom, lv, lc, lw, "DOWN", "spam-mode short"
|
||||
if mode == "UP_SPAM": return mom, lv, lc, lw, "UP", "spam-mode long"
|
||||
|
||||
# ── RSI contrarian: extreme readings → auto-fade ──
|
||||
# ── RSI contrarian: only on TRUE extremes + reversal confirmation ──
|
||||
r = rsi(conn)
|
||||
if r is not None:
|
||||
if r > 85:
|
||||
return mom, lv, lc, lw, "DOWN", f"⚠ RSI {r:.0f} extreme overbought → fade DOWN"
|
||||
if r < 15:
|
||||
return mom, lv, lc, lw, "UP", f"⚠ RSI {r:.0f} extreme oversold → fade UP"
|
||||
# Require BOTH extreme RSI AND momentum already reversing
|
||||
if r > 92 and mom == "DOWN" and mom_score > 0.01:
|
||||
return mom, lv, lc, lw, "DOWN", f"⚠ RSI {r:.0f} extreme OB + momentum reversing → fade DOWN"
|
||||
if r < 8 and mom == "UP" and mom_score > 0.01:
|
||||
return mom, lv, lc, lw, "UP", f"⚠ RSI {r:.0f} extreme OS + momentum reversing → fade UP"
|
||||
|
||||
# ── swing threshold gate ──
|
||||
thr = cfg.get("swing_threshold_pct", 0.005)
|
||||
|
||||
Reference in New Issue
Block a user