ブレーキのないBotに損切りを教えたら、聖杯が見えた(気がした)

自動売買 検証記

前回、俺のBotには損切りがないことが判明した。ブレーキのないトラックだ。今回はそれを直す話と、初めての「答え合わせ」の話である。

まず、Botのルールを全部書き出す

検証の前に、俺のBotが何をやっているのかをはっきりさせておく。ここを曖昧にしたまま「勝った負けた」を言っても意味がないからだ。

買いの条件(売りは上下反転):

  1. 1時間足の直近100本を見る
  2. その中から「」を全部拾う(前後の足より安値が低い足を谷とする)
  3. 直近2つの谷を取り出し、その2つの安値の差が1%以内なら「Wボトム」と判定
  4. 同時に、RSI(14)が35を下回っていること
  5. 1と2が揃ったら買い

損切りと利食い(今回追加した部分):

  • 損切り:2つ目の谷の0.1%下。理屈は単純で、「2回跳ね返った底を割ったんなら、Wボトムの読みが外れたということ。なら さっさと降りる」
  • 利食い:損切り幅の1.5倍。つまり「負けるときは10失う、勝つときは15取る」

収集ルートで言えば「行き止まりだったらすぐ引き返す。当たりの道は奥まで行く」である。この設計なら、勝率が半分を切ってもトータルでは残る計算になる。

これでBotは一人前に見えた。だが、ここでクロちゃんがこう言った。

「このBot、過去のデータで動かしたら成績が出ますよ。バックテストって言います」

なるほど。過去2年分のチャートで、このBotが何勝何敗だったか計算できるわけだ。面白い。やってみよう。

検証の仕様

対象:USDJPY(ドル円)1時間足
期間:直近2年(約12,400本)
判定に使う範囲:各時点の直近100本
コスト:スプレッド1.5pipsを、決済のたびに往復分として差し引く
ポジション:同時に1つだけ(前のが決済されるまで新規は入れない)
同じ足で損切りと利確の両方に届いた場合:損切りを優先(厳しい方で数える)

結果:2年で911回取引して、大負け

マイナス2,437.6pips。勝率35.0%。

なんでやねん!911回も取引して、コツコツ負け続けていた。俺のBotは2年前に動かしていたら、立派な負け犬だったのである。

だが、ここからが面白かった。クロちゃんと二人三脚で、条件を締めていったのだ。

何をしたか取引数勝率損益
最初の状態911回35.0%-2,437.6
谷2つの許容差を1%→0.5%に厳しく
+ 4時間足の移動平均(50)でトレンド判定を追加
335回32.2%-1,946.4
そのトレンド判定の向きを逆にする636回36.8%-1,102.5
RSIの基準を35/65→30/70に厳しく466回36.3%-849.9

負けがどんどん減っていく。改造のたびに数字が良くなるのだから、楽しくて仕方がない。

……ところで、上の表の3行目に注目してほしい。「トレンド判定の向きを逆にする」というやつだ。

最初は素直に「4時間足が上向きのときだけ買う」にした。悪化した。だから逆にして「4時間足が下向きのときだけ買う」に変えたら、改善した。

このとき俺は「ほう、逆張りやからそうなるんか」と納得していた。この行動が何を意味するのかは、第5回で思い知ることになる。

とどめの一手:ネックライン

最後に教わったのが「ネックライン」だ。Wボトムというのは本来、Wの真ん中の山を上に抜けてからが本番らしい。2つ目の底ができた瞬間に飛びつくのは、フライングなのだ。

これも数字で決めた。

  • ネックラインの定義:2つの谷の間にある、一番高い値
  • 確認方法:1時間足の終値がそれを上回ったとき(ヒゲだけで抜けたのはダメ)
  • 有効期限:2つ目の谷ができてから25本以内の上抜けだけ有効

これを入れた結果がこれである。

取引34回、勝率44.1%、損益マイナス3.1pips。

2年間で、ほぼトントン。マイナス2,437から、たったの3.1まで来た。あと一歩だ。あと一押しで、ついに勝てるBotになる。聖杯まで、あと一歩や!

……この時の俺に言ってやりたい。その「あと一歩」の正体を、お前はまだ何も分かっていない、と。

次回、調子に乗って他の通貨ペアでも試したら、とんでもないものを見つけてしまう。

ではまた。


【おことわり】この連載は個人の検証記録であり、投資助言ではありません。記事中の数字は2026年7月時点のバックテスト(過去データによる模擬計算)の結果であり、実際の運用成績とは異なります。FXは元本を失うリスクのある取引です。

コメント

タイトルとURLをコピーしました