自作のFX自動売買ボットを運用しています。今回は「利益を守るための建値ストップが、実は9割以上ちゃんと置けていなかった」という、わりと恥ずかしい盲点を見つけて直した話です。きっかけは、ある検証口座の含み損を眺めていて『この戦略、なんで五分の勝率なのに負けるんだ?』と引っかかったことでした。
- 「BB1(ボリンジャー+1σ)に到達したら損切りを建値+8pipsに上げる」という保護ルールが、ほぼ発動していなかった。
- 原因は買った値段が最初からBB1より上(買いの8割)。だから「到達したら」が入った瞬間に成立し、建値+8が現在値より上=ブローカーに拒否(無効なストップ)。
- 直し方は「BB2(+2σ)に届いたら建値に乗せる」へ変更+負ける戻り決済を取らない。バックテストでXAUの期待値が 約+70%改善。
- 同じ改修でも地力のない戦略は救えないこともはっきりした。
1. 「建値で守る」の理屈と、現実
使っている戦略のひとつは、価格がボリンジャーバンドの内側から外側へ伸びていく動きを段階的に利確します。同時に、+1σ(BB1)に届いたら損切りを「建値+8pips」に引き上げて、含み益を守るという保護を入れていました。理屈としては「利が乗ったら、もう負けにはしない」です。
ところが決済の中身を分解すると、この「建値撤退」が小さな負けを量産していました。建値+8で守れているなら絶対に出ないはずの負けが、です。
2. 原因 — 買値が最初からバンドの上だった
戦略の入口は「移動平均に押し目をつけて反発したところ」を買います。検証データで、買った瞬間の価格とバンドの位置関係を実際の約定700件超で再構成したところ——
| 買値の位置 | 割合 |
|---|---|
| 買値 > BB1(+1σ) | 約81% |
| 買値 > BB2(+2σ) | 2〜3割(線上に密集し不安定) |
| 買値 > BB3(+3σ) | 約6% |
つまり買った時点ですでにBB1の上。すると「BB1に到達したら建値+8へ」という保護がエントリー直後に発動してしまいます。そのとき建値+8は現在値のすぐ上にあり、買いポジションの損切りとしては「価格より上」になってしまう——ブローカーは無効なストップとして弾きます(MT5のretcode 10016)。
3. 直し方 — 「BB2に届いたら建値に乗せる」
発想を変えました。BB1は入口でほぼ超えているので保護トリガーとして無意味。代わりに——
- BB2(+2σ)に到達したら、損切りを建値(±0)へ。BB2に届いた時点なら価格は建値の十分上にあるので、今度はブローカーが受け付けます。
- 建値割れになる「戻り決済」は取らない(建値の保護に任せる)。
これで「BB2まで伸びたら、最悪でも建値(コスト分のみ)」が保証される形になります。
4. バックテスト結果(XAUUSD・13ヶ月・すべて未来参照なし)
主力のXAU(ゴールド)で、現行と改修版を同じ期間・同じコスト条件で比較しました。1分足で値動きの中身まで解像した高精度版でも結果は再現しています。
| 版 | 勝率 | 1取引期待値 | PF |
|---|---|---|---|
| 現行(BB1+8) | 51.3% | +10.81 pips | 1.29 |
| 改修(BB2建値・1分足検証) | 59.2% | +18.32 pips | 1.43 |
守りのレッグ単体では、期待値が +7.85 → +21.83 pips、勝率も 40%台 → 60%前後へ。別のもう1戦略(教材ベース)でも同様に改善しました。
5. でも、改修で救えない戦略もあった
同じ改修を、ドルストレート専用の戦略にも当ててみました。すると勝率やPFの「形」は良くなるのに、期待値はマイナスのままでした。
6. 投入のしかた — いきなり差し替えない
直した版(v3.01)は、いきなり本番に差し替えず、検証用のデモ口座2つで、現行版と新MAGICで並走(A/B)させています。同じ入口・同じ相場で「守りのレッグだけ」を比べれば、改修の純粋な効果が測れるからです。実弾でしばらく走らせて、現行を本当に上回るか確認してから次へ進めます。
「利が乗ったら建値で守る」——言葉は簡単ですが、その戦略がバンドのどこで買っているかを確認しないと、保護はまるごと空振りします。今回は「買値がバンドの上にある」という地味な事実が、9割の保護失敗と、毎回の小さな負けの正体でした。数字(約定ログとバックテスト)で見にいって、はじめて気づけた盲点です。
※ 本記事の運用はすべてデモ口座での検証です。特定の手法・ブローカーの利益を保証するものではなく、投資の勧誘でもありません。FX取引にはリスクがあります。
