refactor: Rename breakEvenTriggerPercent to profitLockAfterTP1Percent for clarity

- Renamed config variable to accurately reflect behavior (locks profit, not breakeven)
- Updated log messages to say 'lock +X% profit' instead of misleading 'breakeven'
- Maintains backwards compatibility (accepts old BREAKEVEN_TRIGGER_PERCENT env var)
- Updated .env with new variable name and explanatory comment

Why: Config was named 'breakeven' but actually locks profit at entry ± X%
For SHORT at $141.51 with 0.3% lock: SL moves to $141.08 (not breakeven $141.51)
This protects remaining runner position after TP1 by allowing small profit giveback

Files changed:
- config/trading.ts: Interface + default + env parsing
- lib/trading/position-manager.ts: Usage + log message
- .env: Variable rename with migration comment
This commit is contained in:
mindesbunister
2025-11-15 11:06:44 +01:00
parent d654ad3e5e
commit 324e5ba002
3 changed files with 7 additions and 7 deletions

View File

@@ -40,7 +40,7 @@ export interface TradingConfig {
hardStopPercent: number // Hard stop trigger (e.g., -2.5)
// Dynamic adjustments
breakEvenTriggerPercent: number // When to move SL to breakeven
profitLockAfterTP1Percent: number // Lock this % profit on remaining position after TP1
profitLockTriggerPercent: number // When to lock in profit
profitLockPercent: number // How much profit to lock
@@ -132,7 +132,7 @@ export const DEFAULT_TRADING_CONFIG: TradingConfig = {
hardStopPercent: -2.5, // Hard stop (TRIGGER_MARKET)
// Dynamic adjustments
breakEvenTriggerPercent: 0.4, // Move SL to this profit level after TP1 hits
profitLockAfterTP1Percent: 0.4, // Lock this % profit on remaining position after TP1
profitLockTriggerPercent: 1.0, // Lock profit at +1.0%
profitLockPercent: 0.4, // Lock +0.4% profit
@@ -482,8 +482,8 @@ export function getConfigFromEnv(): Partial<TradingConfig> {
? parseFloat(process.env.MAX_TP2_PERCENT)
: undefined,
breakEvenTriggerPercent: process.env.BREAKEVEN_TRIGGER_PERCENT
? parseFloat(process.env.BREAKEVEN_TRIGGER_PERCENT)
profitLockAfterTP1Percent: process.env.PROFIT_LOCK_AFTER_TP1_PERCENT || process.env.BREAKEVEN_TRIGGER_PERCENT
? parseFloat(process.env.PROFIT_LOCK_AFTER_TP1_PERCENT || process.env.BREAKEVEN_TRIGGER_PERCENT!)
: undefined,
profitLockTriggerPercent: process.env.PROFIT_LOCK_TRIGGER_PERCENT
? parseFloat(process.env.PROFIT_LOCK_TRIGGER_PERCENT)