跳到主要內容

Feature Iteration Run #1327: zz_sylvain

Status: completed | Started: 2026-09-26 01:31:13 | Ended: 2026-09-26 01:31:28

📊 Iterations

Iter Y Label Model Warm Proxy Parent FS Feature DSL DSL Valid Baseline PF Modified PF Scalar Score t-stat p-value Cohen's d Result Reason
1 C8 gradient_boosting — — #7 k_iter1_k_high_pct_chg_atr_ppos_divamp_volshrink // Factor: k_high_pct_chg_atr_ppos_diva… ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT safe_eval DSL: 非原生呼叫 ['amplitude', 'shrink'] (只准 Pine 原生函數, 對齊 _check_fd_align A10)
2 C8 gradient_boosting — — #7 k_iter2_k_high_pct12_atrnorm_ppos_hlr //@version=6 indicator("k_high_pct12_at… ❌ 0.000 0.000 0.0000 0.000 1.000 0.000 ❌ REJECT safe_eval DSL: 非原生呼叫 ['indicator', 'plot'] (只准 Pine 原生函數, 對齊 _check_fd_align A10)

📄 Report Markdown

# AUTOLOOP: zz_sylvain (2 iterations)

> **Phase**: Y4.7 Option B (DSL → Python code → FeatureSet candidate)
> **Target indicator**: zz_sylvain
> **Base feature_set_id**: 7
> **Claim**: (default) Propose a new k_* feature that improves risk-adjusted returns
> **Objective mode**: scalarize
> **Metrics**: ['profit_factor', 'sharpe_ratio', 'win_rate', 'max_drawdown', 'test_accuracy']
> **Total duration**: 14.96s
> **Total accepted**: 0
> **Total rejected**: 2

## Iterations 詳情

### Iteration 1
- DSL: `// Factor: k_high_pct_chg_atr_ppos_divamp_volshrink
high_pct_12 = (high - high[12]) / high[12]
atr_val = ta.atr(high, low, close, 5)
atr_n = atr_val / close
pp = (high != low) ? (close - low) / (high - low) : 0.0

// OBV divergence amplitude (continuous): binary flag * vol_sma
diff = close - close[1]
obv_val = ta.cum(diff > 0 ? volume : (diff < 0 ? -volume : 0))
o_val = obv_val[1]
obv_past_max = ta.highest(o_val, 12)
h_shift1 = high[1]
h_shift_w1 = high[13]
price_new_high = h_shift1 > ta.highest(h_shift_w1, 12)
div_flag = (price_new_high and (o_val < obv_past_max)) ? 1 : 0
vol_sma_12 = ta.sma(volume, 12)
div_amp = bar_index == 0 ? 0.0 : div_flag * vol_sma_12

// Consecutive volume shrink (0..length_short)
vol_ma_long = ta.sma(volume, 12)
vol_shrink_v = (volume < vol_ma_long) ? 1 : 0
shrink_count = ta.sum(vol_shrink_v, 6)
shrink_norm = shrink_count / 6.0

result = high_pct_12 / (1.0 + atr_n) * (1.0 - pp) * (1.0 - div_amp) * (1.0 - shrink_norm)
result` (feature=k_iter1_k_high_pct_chg_atr_ppos_divamp_volshrink)
- DSL valid: False
- FeatureSet candidate id: None
- baseline PF: 0.000 → modified PF: 0.000
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0000
- accepted: False, reason: safe_eval DSL: 非原生呼叫 ['amplitude', 'shrink'] (只准 Pine 原生函數, 對齊 _check_fd_align A10)

### Iteration 2
- DSL: `//@version=6
indicator("k_high_pct12_atrnorm_ppos_hlr")
high_pct_12 = (high - high[12]) / high[12]
atr_val = ta.atr(high, low, close, 5)
atr_n = atr_val / close
pp = (high != low) ? (close - low) / (high - low) : 0.0
hl_r = (high - low) / close

result = high_pct_12 / (1.0 + atr_n) * (1.0 - pp) * (1.0 + hl_r)
plot(result)` (feature=k_iter2_k_high_pct12_atrnorm_ppos_hlr)
- DSL valid: False
- FeatureSet candidate id: None
- baseline PF: 0.000 → modified PF: 0.000
- t_stat: 0.000, p_value: 1.000, cohens_d: 0.000
- scalar_score: 0.0000
- accepted: False, reason: safe_eval DSL: 非原生呼叫 ['indicator', 'plot'] (只准 Pine 原生函數, 對齊 _check_fd_align A10)

📊 Multi-Objective Metrics

Iteration 1: k_iter1_k_high_pct_chg_atr_ppos_divamp_volshrink

Y Label: C8 | Parent FS: #7

Objective mode: single

Scalar score: 0.0000

Iteration 2: k_iter2_k_high_pct12_atrnorm_ppos_hlr

Y Label: C8 | Parent FS: #7

Objective mode: single

Scalar score: 0.0000

📁 Offline Report

Markdown backup: reports/autoloop/zz_sylvain/20260926_093128.md