BreakoutSonicをご覧いただき、ありがとうございます。
BreakoutSonicは「TP・SLで決済するブレイクアウトEA」です。
原則として、内部ロジックによる決済を行わず、注文時に設定したTP・SLによって決済を行うのが特徴です(※)。
※スプレッド拡大による想定外の損失を防ぐためにポジションを決済する、危険回避機能を実装しています。
TP・SLによって決済することによって、不確実性の高いリアルトレードでも高い再現性を出すことを狙っています。
「いくら再現性が高いと言っても、そんな単純な仕組みで勝てるわけがない」という声が聞こえてきそうなので、ここからは
- バックテストの結果
- なぜTP・SLだけで決済する仕組みにしたのか
- 長期運用に耐えるために搭載している2つの機能
の順にご紹介させていただきます。
バックテストの結果
まずは、バックテストの結果をご紹介します。
(バックテスト条件 通貨ペア:USDJPY、期間:2003年1月1日~2022年1月1日、ロット:0.1固定 TDS変動スプレッド)
グラフ
バックテストのグラフですが、画像の通りで長期間にわたって安定して右肩上がりになっております。
2003年からはかなり荒いですが、2012年以降では安定感が高まっております。
詳細データ
次にバックテストの詳細についてですが、高すぎない勝率と高い期待利得が特徴です。
期待利得が2.3pipsありますので、リアル運用で多少滑っても利益が残るかと思います。
ーーーーー勝率の考え方についての補足ーーーーー
個人の好みもありますが、勝率は高すぎても低すぎても使いにくいです。
勝率が8割以上もあるような高勝率タイプは、基本的にコツドカタイプなので、何回もの勝ちトレードで積み重ねた利益を一回の負けで消し飛ばしてしまうことがあります。
このようなタイプは、連敗してしまったときなどに心が折れてしまいます。
逆に勝率が低すぎると、単純に勝つまで待ちきれなくなり、不安になって辛いです。
勝率6割前後でリスクリワードのバランスがよく取引回数が多いEAが、運用するのが楽ではないかという考えから、高すぎない勝率に仕上げています。
(パラメーター開放していますので、お好みで高勝率や低勝率設定も可能です。)
ーーーーーーーーーーーーーーーーーーーーーーー
バックテストでは勝てていることを確認できましたが、EA運用経験がある方なら「バックテストが良くてもリアル運用で負けるEAはいっぱいある」と思われるのではないでしょうか。
次は、BreakoutSonicの一番のこだわりである、TP・SLで決済する理由について、ご説明します。
この仕組みにより、バックテストのような相場であれば、リアル運用でも同じように勝てる可能性が高い、と考えています。
なぜTP・SLで決済する仕組みにしたのか?
通常のEAは内部ロジックで決済することがほとんどで、TP・SLはリスクを限定するために設定している、というのが一般的かと思います。
ブレイクアウトEAに限って言うと、ブレイクアウトの瞬間の値動きを高速トレールで獲りに行くものが多い印象です。
BreakoutSonicでそのような方式を取らない理由は、リアルトレードでの再現性を高めるためです。
複雑な内部ロジックや高速取引はリアルトレードでの再現性が低くなりがちなのです。
バックテストとリアルトレードの違い
バックテストとリアルトレードでは、以下のような違いがあります。
このような違いから、「リアルトレードでは負けているのに、同じ期間のバックテストをしたら勝っていた。なんで?」みたいなことが起きることがあります。
バックテストの場合
バックテストでは、EAはその性能を完全に発揮することができます。
複雑な内部ロジックでも十分に時間をかけて処理を実行できますし、注文は理想的なレートで約定します。
リアルトレードの場合
リアルトレードでは、様々な制約があり、EAはその性能を完全に出し切れない場合もあります。
PCの処理能力、サーバーの処理能力、サーバーとの通信速度など様々な制約があります。
ティック数や稼働EA数が多い場合には、全てのティックで全てのEAの処理が実行されていない可能性もありますし、通信速度が遅い場合はブレイクアウトの高速トレールは失敗する可能性もあります。
トラブルでVPS自体が落ちてしまうこともありえます。
ブレイクアウトスキャルピング系EAでは特に差が出やすい
ブレイクアウトスキャルピング系EAは、特にこの差が出やすく、リアルトレードで結果を出す難易度が比較的高いです。
- 確実にEAの処理を実行できる環境を整える
- できるだけ有利な条件で取引できる証券会社を選ぶ
ことができないと負けてしまいがちです。
TP・SLで決済することによりリアルトレードでの制約を減らす
BreakoutSonicでは、このリアル口座での不確実性を軽減し、リアル運用でもバックテストのような成績を出すために、TP・SLによる決済にこだわっています。
TP・SLによって決済するということは、EAのリアルタイムでの処理がトレード結果に与える影響を無くすことになります。
そうすることで、ブレイクアウトスキャルピングEAにありがちな
- EAが動作せずトレール注文が実行されずに利確失敗した
- トレール注文は出たけど、証券会社に注文が届くのが遅すぎてレートが変わってしまい利確に失敗した
のような問題を無くすことができます。
(TP・SLが滑ることとの闘いは続きます…)
長期運用に耐えるために搭載している2つの機能
BreakoutSonicは、めんどくさがりな開発者自身が、長期間放置して利益を出すために開発したEAです。
そのため、長期間放置しても安心して運用できるよう、2つの機能を搭載しています。
機能① 危険回避機能
2022年は、経済指標発表時などにスプレッドが異常拡大して、想定以上の損失を受ける事故が多発しました。
「SLを設定しておけば安全」なんていうのは正しくなく、スプレッド拡大や滑りによって「SLは貫通してしまうもの」なのです。
実際に、私は2022年にSLを100pipsも貫通する事故に遭い、大きな損失を受けた経験があります。
このような事故を防ぐために、BreakoutSonicには危険回避機能を搭載しています。
スプレッドを常時監視し、指定した値よりスプレッドが大きくなると逆指値注文を削除し、エントリーしないようにします。
(設定により、保有中のポジションの強制決済も可能です)
スプレッドにより危険を察知することで、経済指標だけでなく、突発的なニュースでの急変動も対策することができます。
(注:絶対に避けれる訳ではありません。)
機能② 可変TP・SL設定機能
TP・SLで決済するとした場合、「どの値に設定するか?」という問題が出てきます。
また、ドル円でいうと80円のときと140円のときとでは、適切なTP・SLの値も変わってくる可能性があります。
この問題への対策として、BreakoutSonicには可変TP・SL設定機能を搭載しております。
この機能は、ATRによってTPやSLを自動で設定する機能です。
固定値で設定するよりも柔軟に相場に合った値に設定することができるのではないか、という考えで作りました。
ご参考に、固定値でのバックテストと可変TP・SLでのバックテストの画像をご紹介します。
(バックテスト条件 通貨ペア:USDJPY、期間:2003年1月1日~2022年1月1日、ロット:0.1固定 TDS変動スプレッド)
ご参考①:BreakoutSonic試作段階の固定値TP・SLでのバックテスト
ご参考②:BreakoutSonicの可変TP・SLでのバックテスト
固定値でのTP・SLの方では、前半(2003年~2011年くらい)が非常に悪い成績となっていますが、可変TP・SLではかなり改善しています。
未来の相場でどうなるかは分かりませんが、過去相場では可変TP・SLによって、より適応力が高まっていたと考えられます。
自動設定によりTP・SLが予期せぬ大きな値にならないよう、最大TP・最大SLを設定することが可能です。
おわりに
BreakoutSonicのご紹介は以上です。
私自身が色々なEAを運用し失敗してきた経験から、再現性の高さを重視して開発しました。
バックテストとリアルトレードで成績差が出にくい作りにしているため、初心者の方から利用できるかと思います。
また、パラメーターも開放していますし通貨ペアの制限も設けていませんので、色々な通貨ペアで最適化して運用したい玄人の方にも楽しんで頂けるかと思います。
ご興味を持っていただけましたら幸いです。
詳細・購入