マルチタイムフレームトレーリングストップロス戦略
概要
本戦略は、以前公開したシンプルなトレーリングストップ戦略のマルチタイムフレーム版です。以前の戦略では、エントリーに基本的なトレーリングストップのみを使用していました。うまく機能したため、いくつかの改良を試みました。異なる時間軸で同じATRトレーリングストップを使用し、それらを1つのシグナルに統合するとどうなるかと考えました。
本戦略では、ATRストップのみを使用し、現在の時間軸に加えて、さらに3つのより高い時間軸を選択できます。これらの時間軸のトレーリングストップがチャート上に描画されます。4つの時間軸すべてがロングシグナルを出した場合、ロングエントリーします。少なくとも2つの時間軸がロングシグナルに同意しなくなった時点で、ロングポジションをクローズします。ショートについても同様のロジックです。
戦略の原理
本戦略の核心は、トレーリングストップとトレンドフォローにあります。トレーリングストップはストップロス水準を設定するために使用され、ATR値に基づいて計算されるため、ストップが突破されるのを効果的に防ぐことができます。トレンドフォローは、異なる時間軸でのトレンド方向を観察することでエントリーを決定します。
具体的には、まず異なる時間軸でATR値を計算し、ストップ距離を設定します。その後、価格がストップ水準を突破した際にロングまたはショートのシグナルを発出します。複数の時間軸のシグナルが一致した場合にエントリーします。その後、その方向のストップ水準を引き続き追跡します。一定割合の時間軸のシグナルが反転した場合、ポジションをクローズします。
異なる周期のトレンド判断を組み合わせることで、偽ブレイクアウトを効果的にフィルタリングできます。同時にトレーリングストップにより利益を確保し、リスクを効果的にコントロールできます。
戦略の利点
- マルチタイムフレーム判断を使用するため、ノイズを効果的にフィルタリングし、トレンド方向を識別できる
- ATRトレーリングストップ方式により、ストップ距離を動的に調整でき、ストップ狩りの確率を低減できる
- トレンドフォローとストップロス管理を組み合わせ、トレンドに追随しつつ適時に損切りできる
- パラメータが少なく、理解と最適化が容易
リスク分析
- ATRストップのパラメータ設定が不適切な場合、価格に近すぎたり遠すぎたりして、突破されやすくなったりストップ距離が大きくなりすぎる可能性がある
- マルチタイムフレームの組み合わせのパラメータ設定が不適切な場合、効果的に機能しなかったり、誤った判断をする可能性がある
- ストップパラメータと時間軸パラメータを同時に適切に設定する必要があり、そうでなければ最適な効果が得られない可能性がある
解決方法:
- 異なるパラメータと銘柄を繰り返しテストし、最適なパラメータを見つける
- 時間軸の比率と数を最適化し、信頼性の高いトレンド判断を提供できるようにする
- ATRストップの倍数を調整し、ストップが突破されず、かつ距離が大きすぎないバランスを見つける
最適化の方向性
戦略は以下の点から最適化できる:
- 時間軸の数を増減し、最適なトレンド判断を行うフレームの組み合わせを見つける
- 異なるATR倍数をテストし、最適なストップ距離を決定する
- 再エントリーのメカニズムを追加し、トレンドが継続している間にポジションを追加する
- 出来高価格指標など、他の指標と組み合わせてエントリータイミングをフィルタリングする
- 異なる銘柄ごとにパラメータを最適化する
まとめ
本戦略は、マルチタイムフレームATRトレーリングストップ方式により、トレンドフォローとリスクコントロールを有機的に統合しています。単一のストップと比較して、トレンド方向をより明確に判断できます。単一時間枠と比較して、多くのノイズをフィルタリングします。ストップパラメータと時間軸の適切な設定が、最適な効果を達成する鍵です。本戦略は、ある程度のドローダウンを許容できる投資家に適しており、比較的安定した投資リターンを得られます。さらなる最適化の余地と拡張性があり、非常に有望な戦略アイデアです。
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="MTF Trailing SL Strategy [QuantNomad]", shorttitle = "MTF TrailingSL [QN]", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
////////////- 1

