メインコンテンツへスキップ
見出し画像

【負けを学習データに変える日】MT5 LLM自動売買Bot4系統 並走テスト録 [6/5]

    6/5のMT5自動売買Bot並走テストは、全体ではマイナスでした。

    結果は以下です。

    GateGrid AIGBPUSD+199円
    BoundSniperUSDJPY-100円
    LLMBridgeTraderEURUSD-675円
    MLScore GF-T4GBPJPY-492円
    合計-1,068円

    数字だけ見ると負けの日です。

    ただ、今回の結果は「何が悪かったのか」がかなり見えやすい日でもありました。

    特に、LLMの判断をそのまま使う怖さ、MLスコアBotの出口設計、そしてログ不足をどう埋めるかという課題がはっきり出ました。

    GateGrid AIは唯一のプラス

    GBPUSDのGateGrid AIは、今回の中で唯一プラスでした。

    結果は +199円。

    3回の決済がすべてプラスで、+90円、+10円、+99円という小さな利益を積み上げる形でした。

    GateGrid AIは、単純なグリッドBotではありません。

    CatBoostでエントリー確率を見て、さらにOllamaで相場状況を確認し、ATR、スプレッド、時間帯、直近成績などを見ながら、条件が悪ければ入らない構成にしています。

    今日の結果だけで優秀とは言えません。

    ただ、「入るべき場面だけ入る」という設計は、少なくとも今日の相場では一番安定していました。

    BoundSniperは小さな負け

    USDJPYのBoundSniperは -100円。

    1回目が -104円、2回目が +4円でした。

    BoundSniperは相場を予測するBotではなく、TradingViewのシグナルをMT5へ届ける実行役です。

    つまり、Bot側の問題というより、TradingView側のロジックやフィルターをどう改善するかが次の課題になります。

    実行装置としてはシンプルで、結果の良し悪しも読みやすいです。

    LLMBridgeTraderは一番厳しい結果

    EURUSDのLLMBridgeTraderは -675円。

    今回もっとも厳しかったBotです。

    LLMBridgeTraderは、AIにBUY/SELLだけでなく、OPEN、HOLD、CLOSE、REVERSEまで判断させるBotです。

    SL pips、TP pips、信頼度、セットアップ種別、エントリー理由、決済理由までAIが出します。

    自由度が高いぶん、うまくいけば強いです。

    でも今回のように、判断が連続で外れると損失が重なります。

    機械学習ゲートの導入

    そこで今回、LLM Signal Bridgeに機械学習ゲートを追加しました。

    LLMの売買計画は残したまま、OPENやREVERSEのような新規・反転エントリーだけをMLスコアでチェックします。

    HOLDやCLOSEはリスク管理なので、MLでは止めません。

    ML側では、ブレイクアウト候補、レンジ反転候補、ローソク足の形、ATR、ボラティリティ、リターン、時間帯などを特徴量として使い、CatBoostモデルで0〜100のscoreに変換します。

    最初はしきい値を80にしていました。

    ただ、EURUSDのbackfillではスコア分布が45〜51付近に集中し、80では通過が0件でした。

    そのため、現時点では期待値がプラスになった 48 を採用しています。

    "score_threshold": 48,
    "strategy_score_thresholds": {
      "breakout": 48,
      "range": 48
    }

    また、再学習したモデルを毎回そのまま使うのではなく、旧モデルより良い場合だけ本番モデルへ昇格するようにしました。

    ここはかなり重要です。

    AIを強くするというより、AIが暴れたときに止める仕組みを入れた、という感覚です。

    MLScoreAnalistは負けたが、後半に光あり

    GBPJPYのMLScore GF-T4は -492円。

    前半に大きな損切りがあり、結果としてはマイナスです。

    ただ、後半には +252円、+255円のTPもあり、完全に機能していないわけではありませんでした。

    このBotは、今回かなり大きく改善しました。

    もともとはMT5スコア判定Botに近く、エントリー判断が中心でした。

    しかし、実運用ではエントリー精度だけでは足りません。

    損益比、スプレッド、ログ不足、出口戦略、安全性が重要になります。

    そこでまず、エントリー候補を breakout と range に分けました。

    breakoutは順張り。
    rangeは逆張り。

    さらに、トレンド強度、レンジ内の位置、レンジ幅、ローソク足の実体比率、終値ブレイク判定、strategy種別などの特徴量を追加しました。

    これにより、モデルは単に「買いか売りか」だけでなく、「これは順張りなのか、逆張りなのか」も含めて学習できるようになりました。

    backfillでログ不足を補う

    リアル稼働だけでログを貯めると時間がかかります。

    そこで、過去チャートから人工的にログを作るbackfill機能を追加しました。

    今回のbackfill結果は以下です。

    rows: 2475
    labeled: 1211
    wins: 1000
    losses: 211

    モデルは27個の特徴量で再学習済みです。

    検証結果は以下でした。

    features: 27
    accuracy: 0.8066
    AUC: 0.6836

    threshold reportでは、backfill上では以下が最良でした。

    threshold: 90
    trades: 720
    win_rate: 0.9889
    expectancy: 24.06 pips

    もちろん、これはリアル成績ではありません。

    実際の約定、スリッページ、スプレッド急拡大、ポジション制約は完全には再現できません。

    それでも、「ログがないから勘で動かす」状態からは一歩進みました。

    strategy別TP/SLに分離

    もうひとつ大きな改善は、TP/SLをstrategy別に分けたことです。

    以前は、順張りでも逆張りでも同じTP/SLでした。

    現在は、breakoutとrangeで別々のTP/SLを持てます。

    現時点の最適化結果は以下です。

    breakout: TP 25 pips / SL 60 pips
    range:    TP 25 pips / SL 60 pips

    今はたまたま同じ値ですが、仕組みとしては分離されています。

    今後ログが増えれば、順張りは広め、逆張りは短め、というように自然に別々の出口へ更新できます。

    リアル稼働での制限

    リアル稼働向けには、以下の制限も入れました。

    最大スプレッド: 20 points
    1日の全体エントリー上限: 4回
    breakout上限: 2回
    range上限: 2回

    さらに、発注ログには実際に使ったstrategy、TP/SL pips、スプレッドも残すようにしました。

    これで、あとから「どのstrategyが、どの出口条件で、どの程度機能したか」を追えます。

    今日の結論

    今日の合計は -1,068円。

    勝率だけを見ると、そこまで悪く見えない部分もあります。

    でも問題は損益比です。

    小さく勝って、大きく負ける形がまだ残っています。

    ただし、今回の負けは次の改善に直結しています。

    LLMBridgeTraderにはMLゲートを追加。

    MLScore Botにはbreakout/range分離、strategy別TP/SL、backfill、再学習、安全弁を追加。

    GateGrid AIは多段フィルターの有効性を確認。

    BoundSniperはTradingView側ロジック改善の課題を確認。

    つまり今日は、ただ負けた日ではなく、Botを「学習して育てる前提の自動売買システム」に近づける日でした。

    次に見るべきは、strategy別の勝率、平均損益、スプレッド、タイムアウト、そして人工ログの期待値とリアルログのズレです。

    ここからは、勝った負けたよりも、ズレを測って直すフェーズに入ります。

     
     

    きみ

     
     
    「教員→エンジニア→また教員」という回り道を歩いています。離婚も経験し、人生をもう一度くみ直している最中。普段はLocal LLMで動く自動売買Botを自作。教育・IT・AI・お金、人生の立て直しにまつわる学びを発信します。スキ・フォローいただけると励みになります🌱

    あなたへのおすすめ