「TPとSLをどう設定すればいいかわからない」
EA開発を始めた頃、一番悩んだのがここでした。バックテストでPFが出ない原因を探ると、たいていTP・SLのバランスが問題でした。
GENESIS・凜・AXISの3つのEAを開発してきた中で、TP・SLの設定は「感覚で決めるもの」ではなく「ロジックと相場の構造から導き出すもの」だという結論に至っています。
この記事では、EA開発者の視点からTP・SLの考え方と設定の基準を整理します。
TP・SLとは何か
まず基本から整理します。
- TP(Take Profit)=利確幅。この値幅に達したら自動で利益確定する
- SL(Stop Loss)=損切り幅。この値幅に達したら自動で損失を確定する
EAの場合、エントリーと同時にこの2つが自動でセットされます。裁量トレードと違い、「なんとなく利確する」「損切りを我慢する」という感情的な判断が入りません。だからこそTP・SLの設定そのものが、EAの成績を決定づける重要な要素になります。
TP・SLはセットで考える
TP・SLを個別に考えるのは間違いです。この2つは必ずセットで考える必要があります。
重要なのはリスクリワード比(RR比)です。
RR比=TP÷SL
例えばTP30pips・SL30pipsであればRR比は1.0。TP60pips・SL30pipsであればRR比は2.0になります。
RR比が高いほど「1回の勝ちで複数回の負けを取り返せる」構造になりますが、その分TPに届く前に反転するケースが増えて勝率が下がります。逆にRR比が低いと勝率は上がりやすいですが、1回の負けを取り返すために複数回勝つ必要があります。
PFはこの勝率とRR比の掛け合わせで決まります。TP・SLはどちらか一方を変えると必ずPFと勝率の両方に影響が出るため、常にセットで検証する必要があります。
GENESISのTP・SL設定で直面した問題
GENESIS開発で最も時間がかかったのがTP・SLのバランス調整でした。
GENESISはBOXブレイクアウト型のEAです。レンジを上下にブレイクしたタイミングでエントリーし、トレンド方向にポジションを保有します。
最初の設計では「ブレイクしたならトレンドが継続する」という前提でTPを大きめに設定していました。しかし実際の相場では「ブレイク→即反転」というダマシが頻繁に発生します。TPに届く前にSLに刺さるケースが多く、PFが伸びませんでした。
対策としてSLを縮小したところ、今度はノイズで損切りされる頻度が増えました。逆にSLを拡大するとDDが膨らむ。この調整の繰り返しの中で気づいたのは、TP・SLの設定はロジックの性質と切り離して考えられないということでした。
ブレイクアウト型は「勝つときは大きく、負けるときは小さく」という構造が理想です。しかしダマシが多い局面では、この構造が崩れやすい。GENESISではBOX条件の精度を上げてダマシを減らすことで、TP・SLのバランスが成立するようになりました。TP・SLだけを単独で調整しても解決しなかったという経験です。
ロジックタイプ別のTP・SL設計の考え方
TP・SLの設定はEAのロジックタイプによって考え方が変わります。
ブレイクアウト型(GENESIS)
ブレイク後のトレンド継続を狙うため、TPはある程度大きく取る設計が基本です。ただしダマシが多い相場ではSLが先に刺さるリスクがあるため、エントリー条件の精度が重要になります。RR比を高めに設定しながら、勝率がどこまで維持できるかのバランスを取ります。
アノマリー型(凜)
特定の時間帯・曜日の統計的傾向を利用するため、値動きの規模がある程度予測できます。凜ではこの特性を活かして、アノマリーが発生する時間帯の典型的な値動きに合わせたTPを設定しています。勝率79.16%という数値は、このTP設計が相場の構造と合っていることの表れです。
トレンドフォロー型(AXIS)
トレンドに乗って利益を伸ばすことが目的のため、TPを固定値にするよりトレイリングストップや段階的な利確を組み合わせるケースもあります。AXISでは固定TP・SLを採用しながら、ロット管理の安定性を優先する設計にしています。
TP・SLを決める実際の手順
EA開発でTP・SLを設定するときの実際の手順を整理します。
①相場の値動きの規模を把握する
使用する通貨ペアと時間足における、典型的な1トレードあたりの値動きを確認します。例えばGBPUSD・M15であれば、1回のブレイクでどの程度の値幅が出やすいかを過去データから把握します。この規模感からかけ離れたTPは、現実の相場では届かない設定になります。
②RR比の仮設定をする
まずRR比1.0〜2.0の範囲でいくつかのパターンを仮設定します。この段階では「これが正解」と決めず、複数のパターンをバックテストで比較します。
③バックテストでPF・勝率・取引回数を確認する
仮設定したTP・SLでバックテストを行い、PF・勝率・取引回数の変化を確認します。RR比を変えるとこの3つが連動して変化するため、どのバランスが最も安定しているかを見ます。
④極端な数値が出た場合は疑う
バックテストでPFが急激に上がる設定が出た場合、過剰最適化の可能性があります。「この期間・この相場にたまたま合っていた」だけの可能性があるため、長期バックテストで安定しているかどうかを必ず確認します。
TP・SLでよくある失敗パターン
①SLを小さくしすぎる
「損切りを小さくすれば資金が守れる」という発想でSLを極端に縮めると、相場のノイズで常に損切りされる状態になります。SLはロジックが「間違いだった」と判断できる水準に設定する必要があります。
②TPを大きくしすぎる
「大きく利益を取りたい」という発想でTPを広げすぎると、相場が反転してしまい利確に届かないケースが増えます。勝率が下がり、PFが低下します。
③バックテスト結果に合わせてTP・SLを後付けで最適化する
これが最も危険です。過去データを見ながら「このTP・SLなら最大PFになる」という数値を探すと、必ず過剰最適化になります。TP・SLは相場の構造から論理的に設定するものであり、バックテスト結果から逆算するものではありません。
まとめ
TP・SLの設定に「万能な正解」はありません。
ロジックのタイプ・通貨ペアの特性・時間足の値動きの規模によって、適切なTP・SLは変わります。EA-Labでは3つのEAそれぞれで異なるアプローチを取っていますが、共通しているのは「バックテスト結果から逆算しない」「RR比と勝率をセットで検証する」という点です。
TP・SLの調整はPF改善の手段になりますが、それ単独で解決しないことも多いです。GENESISでの経験のように、エントリー条件の精度が伴って初めてTP・SLのバランスが成立します。設定に迷ったときは、まずロジックの前提に立ち返ることが近道です。
EAのバックテストで確認すべき指標についてはこちらで詳しく解説しています。
プロフィットファクターとRR比の関係についてはこちらも参考にしてください。