alife-trader — LLM変異ループ

生成 2026-08-04 14:56:07(30秒ごとに自動更新)
稼働中 (pid 2520977)
条件
blind
データ
btc4h
完了ラウンド
21
最低取引/fold
5
直近の段階
idle
開始 2026-08-04T14:12:47 / 最終更新 2026-08-04T14:56:07

ラウンドごとの最良個体

R条件個体拒否検出最良適応度進化用holdout取引建玉率
1blind500-0.112-0.73%+11.16%179.5%
2blind500-0.112-0.73%+11.16%179.5%
3blind500-0.112-0.73%+11.16%179.5%
4blind500-0.112-0.73%+11.16%179.5%
5blind500-0.112-0.73%+11.16%179.5%
6blind500-0.112-0.73%+11.16%179.5%
7blind500-0.112-0.73%+11.16%179.5%
8blind500-0.112-0.73%+11.16%179.5%
9blind500-0.112-0.73%+11.16%179.5%
10blind500-0.112-0.73%+11.16%179.5%
11blind500-0.055+3.20%-6.48%1213.1%
12blind500-0.055+3.20%-6.48%1213.1%
13blind500-0.055+3.20%-6.48%1213.1%
14blind500-0.055+3.20%-6.48%1213.1%
15blind500-0.055+3.20%-6.48%1213.1%
16blind500-0.055+3.20%-6.48%1213.1%
17blind500-0.055+3.20%-6.48%1213.1%
18blind500-0.055+3.20%-6.48%1213.1%
19blind500-0.055+3.20%-6.48%1213.1%
20blind500-0.055+3.20%-6.48%1213.1%
21blind500-0.055+3.20%-6.48%1213.1%
22blind500-0.055+3.20%-6.48%1213.1%
23blind500-0.055+3.20%-6.48%1213.1%
24blind500-0.055+3.20%-6.48%1213.1%
25blind500-0.055+3.20%-6.48%1213.1%
26blind500-0.055+3.20%-6.48%1213.1%
27blind500-0.055+3.20%-6.48%1213.1%
28blind500-0.055+3.20%-6.48%1213.1%
29blind500-0.055+3.20%-6.48%1213.1%
holdout は観察者用ログから表示している。変異器には見せていない(見せた時点で holdout ではなくなる)。

報酬信号の健全性

適応度 vs holdout 相関 (n=145)
-0.035
相関が負。報酬信号が汎化と逆向きになっている。この基盤で繰り返し出ている問題で、休眠罰則が支配していないか(min_trades_per_fold)を確認すること。

通算最良個体のコード

適応度 -0.055 / c1 下落局面では建玉ゼロを徹底し、明確な上昇転換(高値ブレイク+傾き上向き)だけを買う
# 狙い: 下落局面では建玉ゼロを徹底し、明確な上昇転換(高値ブレイク+傾き上向き)だけを買う
def signal(window, state):
    closes = [b["c"] for b in window]
    highs = [b["h"] for b in window]
    c = closes[-1]
    ma_fast = sum(closes[-15:]) / 15
    ma_slow = sum(closes[-50:]) / 50
    ma_slow_prev = sum(closes[-60:-10]) / 50
    # 長期の傾きが上向きで価格が両MAの上にあるときだけ「上昇局面」と認定
    rising = ma_slow > ma_slow_prev * 1.001
    uptrend = rising and ma_fast > ma_slow and c > ma_slow
    if not uptrend:
        return -1
    # 直近20本(現在バー除く)の高値を上抜けたらブレイク買い
    breakout = max(highs[-21:-1])
    if c > breakout:
        return 1
    # トレンドが崩れ始めたら手仕舞い
    if c < ma_fast * 0.99:
        return -1
    return 0

ループログ(末尾25行)

  親の適応度 -0.055

次: cd /w/work/round_29 && claude    (このディレクトリを作業根にすること)
    候補を candidates/c1.py ... に置いたら
    python mutator_harness.py ingest --round 29
2026-08-04 14:54:43 --- R29 claude ---
4本の候補を `candidates/` に作成した。

- **c1**: 上昇局面での押し目買い。高値ブレイク買いをやめ建値を改善しDD・往復コストを抑える
- **c2**: 三重MA整列+傾き二重確認で明確な上昇のみ建玉、タイトな手仕舞いでDDを削る
- **c3**: モメンタム(ROC)加速局面のみエントリー、勢い喪失で即撤退
- **c4**: 上昇局面は建玉維持で建玉率と収益を底上げ、トレンド崩壊で離脱
2026-08-04 14:55:55 R29 候補 4本
2026-08-04 14:55:55 --- R29 ingest ---
=== round 29 (blind) ===
個体                                              適応度      進化用   holdout 検査
親                                            -0.055   +3.20%    -6.48% ok
c1 上昇局面での押し目買い。高値掴みを避け建値を良くしDDと往復コストを抑える     -0.656   -5.17%   -10.40% ok
c2 三重MA整列と傾き二重確認で明確な上昇のみ建玉、タイトな手仕舞いでDDを削     -0.456   -2.84%   -12.64% ok
c3 モメンタム(ROC)加速局面だけを取り、勢い喪失で即手仕舞いして下落を回避     -0.705   -2.22%    -5.17% ok
c4 上昇局面は積極的に建玉維持し建玉率と収益を底上げ、トレンド崩壊で離脱        -0.628   -5.26%    -2.48% ok

観察者用ログ: /w/_observer/round_29.json
変異器が読む結果: /w/work/round_29/RESULT.md (holdoutは含まない)
生成: /opt/alife-trader/dashboard.html