TFOとATRに基づくトレンドフォローストップロス戦略
概要
本戦略は、Dr. John Ehlersのトレンド・フレックス・オシレーター(TFO)と平均真実範囲(ATR)に基づいて設計されたトレンドフォロー型のトラッキングストップロス戦略です。ロング専用で、売られ過ぎ(Oversold)からの反転時にロングポジションをエントリーします。通常は数日以内に決済されますが、ベア相場に捕捉された場合はホールドします。本戦略はシンプルなバックテストにより設定可能なパラメータを調整できますが、バックテスト結果を完全に信頼すべきではありません。
戦略の原理
本戦略はTFOとATRの2つの指標を組み合わせ、買い条件が成立したときにロングポジションを建て、売り条件が成立したときに決済します。
買い条件: TFOが一定の閾値を下回っている(売られ過ぎを示す)、かつ前のローソク足のTFO値が現在のローソク足を下回っている(TFOが反転上昇)、さらにATRが設定した変動閾値を上回っている(市場の変動が大きい)という3つの条件がすべて満たされた場合にロングポジションを建てます。
決済条件: TFOが一定の閾値を上回っている(買われ過ぎを示す)、かつATRが設定した変動閾値を上回っている場合、すべてのロングポジションを決済します。さらに、本戦略はトラッキングストップロスを設定しており、価格が設定したトラッキングストップロス価格を下回った場合もすべてのロングポジションを決済します。ユーザーは戦略に指標シグナルに従って決済させるか、ストップロス価格のみで決済させるかを選択できます。
本戦略は最大15のロングポジションを同時に保有できます。パラメータは調整可能で、異なる時間足に対応します。
戦略の利点
-
トレンドと変動性を組み合わせて市場の方向性を判断するため、比較的安定しています。TFOはブレイクアウトトレンドの初期シグナルを捉え、ATRは市場変動の増大するタイミングを把握できます。
-
調整可能な売買パラメータとストップロスパラメータを設定でき、柔軟に運用できます。ユーザーは市場に合わせてパラメータを調整し、最適化を図れます。
-
ストップロス機能が組み込まれており、異常値による損失を軽減できます。ストップロス戦略は定量取引において非常に重要な要素です。
-
追加ロングポジションや一部決済をサポートしており、ポジションを増やすことで利益を拡大できます。強気相場に適しています。
戦略のリスク
-
本戦略はロング専用であり、ショートは行わないため、下落相場で利益を上げることができません。極端なベア相場に遭遇した場合、多大な損失を被る可能性があります。
-
パラメータ設定が不適切だと、過剰取引や買い漏れ・売り漏れが発生する可能性があります。最適なパラメータの組み合わせを見つけるには繰り返しテストが必要です。
-
異常な相場ではストップロスが機能せず、巨額損失を防げない可能性があります。これはすべてのストップロス戦略に共通する問題です。
-
バックテストの結果は実際の取引と完全には一致せず、実取引の結果にズレが生じることがあります。
戦略の最適化
-
売り条件に移動ストップロスラインを追加し、戦略が適時に損切りを行い、下値リスクを効果的に抑制することを検討できます。
-
TFOが反転下落し、ATRが十分に大きい場合にショートポジションを建てるメカニズムを拡張し、弱気相場にも対応できるようにすることができます。
-
出来高の変化など、より多くのフィルター条件を追加し、異常な相場が戦略に与える影響を軽減できます。
-
異なる時間足におけるパラメータ設定とバックテスト結果を検証し、最適な時間足とパラメータの組み合わせを探ることができます。
まとめ
本戦略はトレンド分析と変動性監視の利点を統合し、TFOとATRの指標の組み合わせで市場の方向性を判断します。追加ロングポジション、一部決済、移動ストップロスなどのメカニズムを備え、利益拡大とリスク管理が可能で、強気相場に適しています。また、指標フィルターの追加やパラメータ最適化により戦略パフォーマンスをさらに改善できる拡張性を有しており、定量戦略の基本的な機能要件をほぼ満たしています。さらなる研究と応用に値します。
/*backtest
start: 2022-11-27 00:00:00
end: 2023-12-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Chart0bserver
//
// Open Source attributions:- 1

