Change cooldown unit from seconds to minutes

- Updated minTimeBetweenTrades config to use minutes instead of seconds
- Changed default from 600 seconds to 10 minutes
- Updated Settings UI label from 'seconds' to 'minutes' and adjusted range (0-60 min)
- Updated .env comments to reflect new unit
- No functional change since cooldown enforcement not yet implemented (TODO in check-risk route)
This commit is contained in:
mindesbunister
2025-10-30 10:35:47 +01:00
parent 25d31ff75a
commit b7b0fb9bb2
3 changed files with 11 additions and 8 deletions

6
.env
View File

@@ -129,8 +129,8 @@ MAX_DAILY_DRAWDOWN=-50
# Maximum number of trades allowed per hour (prevents overtrading)
MAX_TRADES_PER_HOUR=20
# Minimum time between trades in seconds (cooldown period)
# Example: 600 = 10 minutes between trades
# Minimum time between trades in minutes (cooldown period)
# Example: 10 = 10 minutes between trades
MIN_TIME_BETWEEN_TRADES=0
# DEX execution settings
@@ -305,7 +305,7 @@ NEW_RELIC_LICENSE_KEY=
# Recommended Daily Limits:
# - MAX_DAILY_DRAWDOWN=-150 (stop at -15% loss)
# - MAX_TRADES_PER_HOUR=6 (prevent overtrading)
# - MIN_TIME_BETWEEN_TRADES=600 (10min cooldown)
# - MIN_TIME_BETWEEN_TRADES=10 (10min cooldown)
#
# Expected Risk Per Trade (with defaults):
# - Max Loss: $7.50 (50 * 10 * 0.015)

View File

@@ -385,12 +385,12 @@ export default function SettingsPage() {
description="Maximum number of trades allowed per hour."
/>
<Setting
label="Cooldown Between Trades (seconds)"
label="Cooldown Between Trades (minutes)"
value={settings.MIN_TIME_BETWEEN_TRADES}
onChange={(v) => updateSetting('MIN_TIME_BETWEEN_TRADES', v)}
min={0}
max={3600}
step={60}
max={60}
step={1}
description="Minimum wait time between trades to prevent overtrading."
/>
</Section>

View File

@@ -38,7 +38,7 @@ export interface TradingConfig {
// Risk limits
maxDailyDrawdown: number // USD stop trading threshold
maxTradesPerHour: number // Limit overtrading
minTimeBetweenTrades: number // Cooldown period (seconds)
minTimeBetweenTrades: number // Cooldown period (minutes)
// Execution
useMarketOrders: boolean // true = instant execution
@@ -91,7 +91,7 @@ export const DEFAULT_TRADING_CONFIG: TradingConfig = {
// Risk limits
maxDailyDrawdown: -150, // Stop trading if daily loss exceeds $150 (-15%)
maxTradesPerHour: 6, // Max 6 trades per hour
minTimeBetweenTrades: 600, // 10 minutes cooldown
minTimeBetweenTrades: 10, // 10 minutes cooldown
// Execution
useMarketOrders: true, // Use market orders for reliable fills
@@ -234,6 +234,9 @@ export function getConfigFromEnv(): Partial<TradingConfig> {
maxTradesPerHour: process.env.MAX_TRADES_PER_HOUR
? parseInt(process.env.MAX_TRADES_PER_HOUR)
: undefined,
minTimeBetweenTrades: process.env.MIN_TIME_BETWEEN_TRADES
? parseInt(process.env.MIN_TIME_BETWEEN_TRADES)
: undefined,
}
}