周日开仓限制
This commit is contained in:
parent
1e55365d43
commit
e2c37e6d62
|
|
@ -431,7 +431,12 @@ async def get_global_configs(
|
||||||
for k, meta in FIXED_RISK_CONFIG_DEFAULTS.items():
|
for k, meta in FIXED_RISK_CONFIG_DEFAULTS.items():
|
||||||
if k not in result:
|
if k not in result:
|
||||||
result[k] = meta
|
result[k] = meta
|
||||||
|
|
||||||
|
# 周日/晚间控制(周六 21 点~周日 06 点等),确保全局配置页可见可改
|
||||||
|
for k, meta in RISK_KNOBS_DEFAULTS.items():
|
||||||
|
if k not in result:
|
||||||
|
result[k] = meta
|
||||||
|
|
||||||
# 添加更多核心策略配置的默认值(确保前端能显示所有重要配置)
|
# 添加更多核心策略配置的默认值(确保前端能显示所有重要配置)
|
||||||
ADDITIONAL_STRATEGY_DEFAULTS = {
|
ADDITIONAL_STRATEGY_DEFAULTS = {
|
||||||
"BETA_FILTER_ENABLED": {
|
"BETA_FILTER_ENABLED": {
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,12 @@ const KEY_LABELS = {
|
||||||
SYNC_RECOVER_MISSING_POSITIONS: '同步时补建缺失持仓',
|
SYNC_RECOVER_MISSING_POSITIONS: '同步时补建缺失持仓',
|
||||||
SYNC_RECOVER_ONLY_WHEN_HAS_SLTP: '仅当有止损/止盈单时补建',
|
SYNC_RECOVER_ONLY_WHEN_HAS_SLTP: '仅当有止损/止盈单时补建',
|
||||||
SYSTEM_ORDER_ID_PREFIX: '系统单 clientOrderId 前缀',
|
SYSTEM_ORDER_ID_PREFIX: '系统单 clientOrderId 前缀',
|
||||||
|
SUNDAY_MAX_OPENS: '周日开仓上限',
|
||||||
|
SUNDAY_MIN_SIGNAL_STRENGTH: '周日最低信号强度',
|
||||||
|
NIGHT_HOURS_NO_OPEN_ENABLED: '晚间禁止开新仓',
|
||||||
|
NIGHT_HOURS_START: '禁止开仓开始(时)',
|
||||||
|
NIGHT_HOURS_END: '禁止开仓结束(时)',
|
||||||
|
NIGHT_HOURS_ONLY_SUNDAY: '仅周六21点~周日06点',
|
||||||
SCAN_STAGGER_BY_ACCOUNT: '多账号错峰扫描',
|
SCAN_STAGGER_BY_ACCOUNT: '多账号错峰扫描',
|
||||||
SCAN_STAGGER_RANDOM: '错峰随机模式',
|
SCAN_STAGGER_RANDOM: '错峰随机模式',
|
||||||
SCAN_STAGGER_MIN_SEC: '错峰最小延迟(秒)',
|
SCAN_STAGGER_MIN_SEC: '错峰最小延迟(秒)',
|
||||||
|
|
@ -614,6 +620,13 @@ const GlobalConfig = () => {
|
||||||
SCAN_STAGGER_MIN_SEC: { value: 10, type: 'number', category: 'scan', description: '随机错峰模式下的最小延迟秒数。例如 10 表示至少延迟 10 秒。' },
|
SCAN_STAGGER_MIN_SEC: { value: 10, type: 'number', category: 'scan', description: '随机错峰模式下的最小延迟秒数。例如 10 表示至少延迟 10 秒。' },
|
||||||
SCAN_STAGGER_MAX_SEC: { value: 120, type: 'number', category: 'scan', description: '随机错峰模式下的最大延迟秒数。例如 120 表示至多延迟 120 秒。' },
|
SCAN_STAGGER_MAX_SEC: { value: 120, type: 'number', category: 'scan', description: '随机错峰模式下的最大延迟秒数。例如 120 表示至多延迟 120 秒。' },
|
||||||
SCAN_STAGGER_SEC: { value: 60, type: 'number', category: 'scan', description: '固定错峰模式下每个账号之间的步长(秒)。延迟 = (account_id-1)*SCAN_STAGGER_SEC。' },
|
SCAN_STAGGER_SEC: { value: 60, type: 'number', category: 'scan', description: '固定错峰模式下每个账号之间的步长(秒)。延迟 = (account_id-1)*SCAN_STAGGER_SEC。' },
|
||||||
|
// 周日/晚间控制(周六 21 点~周日 06 点禁止开仓等),全局配置中可见
|
||||||
|
SUNDAY_MAX_OPENS: { value: 3, type: 'number', category: 'risk', description: '周日最多开仓次数,0=不限制;2-3 可降低周日亏损。' },
|
||||||
|
SUNDAY_MIN_SIGNAL_STRENGTH: { value: 8, type: 'number', category: 'risk', description: '周日最低信号强度(0-10),仅当>=此值才开仓,0=不提高。' },
|
||||||
|
NIGHT_HOURS_NO_OPEN_ENABLED: { value: true, type: 'boolean', category: 'risk', description: '晚间/凌晨禁止开新仓。开启后 21:00~06:00(北京)不开新仓。' },
|
||||||
|
NIGHT_HOURS_START: { value: 21, type: 'number', category: 'risk', description: '禁止开仓开始小时(北京),含。从周六晚 21 点开始控制。' },
|
||||||
|
NIGHT_HOURS_END: { value: 6, type: 'number', category: 'risk', description: '禁止开仓结束小时(北京),不含。' },
|
||||||
|
NIGHT_HOURS_ONLY_SUNDAY: { value: true, type: 'boolean', category: 'risk', description: 'True=仅周六21:00~周日06:00禁止;False=每天21:00~06:00禁止。' },
|
||||||
}
|
}
|
||||||
|
|
||||||
const loadConfigs = async () => {
|
const loadConfigs = async () => {
|
||||||
|
|
@ -1922,11 +1935,11 @@ const GlobalConfig = () => {
|
||||||
|
|
||||||
// 过滤逻辑
|
// 过滤逻辑
|
||||||
const filteredConfigs = Object.entries(configs).filter(([key, config]) => {
|
const filteredConfigs = Object.entries(configs).filter(([key, config]) => {
|
||||||
// 1. 基础过滤(排除非对象、风险旋钮、API Key)
|
// 1. 基础过滤(排除非对象、仅排除部分风险旋钮与 API Key;周日/晚间控制在全局配置中展示)
|
||||||
if (!config || typeof config !== 'object') return false
|
if (!config || typeof config !== 'object') return false
|
||||||
const RISK_KNOBS_KEYS = ['MIN_MARGIN_USDT', 'MIN_POSITION_PERCENT', 'MAX_POSITION_PERCENT',
|
const HIDDEN_RISK_KNOBS = ['MIN_MARGIN_USDT', 'MIN_POSITION_PERCENT', 'MAX_POSITION_PERCENT',
|
||||||
'MAX_TOTAL_POSITION_PERCENT', 'AUTO_TRADE_ENABLED', 'MAX_OPEN_POSITIONS', 'MAX_DAILY_ENTRIES', 'SUNDAY_MAX_OPENS', 'SUNDAY_MIN_SIGNAL_STRENGTH', 'NIGHT_HOURS_NO_OPEN_ENABLED', 'NIGHT_HOURS_START', 'NIGHT_HOURS_END', 'NIGHT_HOURS_ONLY_SUNDAY']
|
'MAX_TOTAL_POSITION_PERCENT', 'AUTO_TRADE_ENABLED', 'MAX_OPEN_POSITIONS', 'MAX_DAILY_ENTRIES']
|
||||||
if (RISK_KNOBS_KEYS.includes(key)) return false
|
if (HIDDEN_RISK_KNOBS.includes(key)) return false
|
||||||
if (key === 'BINANCE_API_KEY' || key === 'BINANCE_API_SECRET' || key === 'USE_TESTNET') return false
|
if (key === 'BINANCE_API_KEY' || key === 'BINANCE_API_SECRET' || key === 'USE_TESTNET') return false
|
||||||
|
|
||||||
// 2. Tab 过滤
|
// 2. Tab 过滤
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user