feat: MM adaptive cut-loss with profit floor
When one leg fills, instead of immediately market-selling the unfilled leg, enter a continuous monitoring loop that: - Places a limit sell only when price >= minAdaptivePrice floor (floor = mmAdaptiveMinCombined - filledLegPrice, default combined 1.20) - Chases price upward (>2% improvement → re-place limit higher) - Cancels limit on dip >5% or below floor, then waits for recovery - Market-sells only as last resort when CL time is reached New config: MM_ADAPTIVE_CL (toggle), MM_ADAPTIVE_MIN_COMBINED (floor), MM_ADAPTIVE_MONITOR_SEC (poll interval). Legacy immediate market-sell path preserved when MM_ADAPTIVE_CL=false. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
526076fe6e
commit
d3e5567c97
@@ -56,6 +56,9 @@ const config = {
|
||||
mmMarketKeyword: process.env.MM_MARKET_KEYWORD || 'Bitcoin Up or Down',
|
||||
mmEntryWindow: parseInt( process.env.MM_ENTRY_WINDOW || '45', 10), // max secs after open
|
||||
mmPollInterval: parseInt( process.env.MM_POLL_INTERVAL || '10', 10) * 1000,
|
||||
mmAdaptiveCL: process.env.MM_ADAPTIVE_CL !== 'false', // true = adaptive, false = legacy immediate market-sell
|
||||
mmAdaptiveMinCombined: parseFloat(process.env.MM_ADAPTIVE_MIN_COMBINED || '1.20'), // min combined sell (both legs) to qualify for limit
|
||||
mmAdaptiveMonitorSec: parseInt(process.env.MM_ADAPTIVE_MONITOR_SEC || '5', 10),
|
||||
|
||||
// ── Recovery Buy (after cut-loss) ─────────────────────────────
|
||||
// When enabled: after cutting loss, monitor prices for 10s and
|
||||
|
||||
Reference in New Issue
Block a user