ダブル移動平均線トレーリングストップ戦略
概要
本戦略は、高速移動平均線と低速移動平均線のクロスに基づいてロング・ショートを決定します。高速移動平均線が低速移動平均線を上抜けた際にロングし、下抜けた際に決済します。より高い利益を追求するため、トレーリングストップ機構を採用しています。ロング後、単純に約定価格の下にストップ価格を設定するのではなく、約定価格の下にトレーリングストップ価格を設定し、価格上昇に伴ってストップ価格を引き上げていきます。その後、価格が下落してストップ価格下限に達した場合に決済します。
戦略の原理
本戦略では、高速単純移動平均線(SMA)と低速SMAを用いてロングと決済のタイミングを判断します。高速SMAが低速SMAを上抜けた場合、トレンドが上昇に転じたと判断してロングします。高速SMAが低速SMAを下抜けた場合、トレンドが反転したと判断して決済の準備に入ります。
より高い利益を追求するため、本戦略ではトレーリングストップ機構を導入しています。ロング後、固定価格でのストップ注文は設定せず、トレーリングストップ価格を設定します。これは価格上昇に伴って自動的に上方に追従し、価格が一定割合上昇するごとにトレーリングストップ価格も一定幅だけ上方調整されます。価格が調整局面に入り、トレーリングストップ価格に接触すると、ストップ注文が発動され、ポジションが決済されます。
具体的には、トレーリングストップ価格は以下の計算式で求められます。
トレーリングストップ価格 = 価格 × (1 - ストップトレーリング率)
ここで、ストップトレーリング率は戦略パラメータ「Deviation %」により設定されます。戦略では、ポジション保有後、各ローソク足終了時に新しいトレーリングストップ価格を計算します。新しいトレーリングストップ価格は、前のローソク足のトレーリングストップ価格を下回ってはならず、ストップ価格が上昇するのみで下降しないことが保証されます。
価格が下落し、トレーリングストップ価格に達した場合、決済シグナルが発生し、成行注文でポジションを決済します。
戦略の優位性
- デュアル移動平均線によるトレンド方向の判断は、バックテストで良好な結果を示している
- トレーリングストップを採用することで、より高い利益を追求できる
- 移動平均線の期間やストップトレーリング幅をカスタマイズ可能
- 上昇トレンド時には、ストップラインが上昇し続けるため、利益の多くを確保できる
- トレンド反転時には、迅速にストップがかかるため、大きな損失を回避できる
リスクと対策
- 移動平均線のクロスのタイミングが不適切な場合、偽のシグナルが発生する可能性がある。異なるパラメータをテストし、最適な移動平均線の組み合わせを見つけること
- トレーリングストップが過度に積極的だと、早期にストップが破られる可能性がある。ストップトレーリング率のパラメータを適宜調整すること
- 価格に窓空けが発生した場合、ストップ価格を直接突破することもある。他の指標を組み合わせてトレンドを判断し、レンジ相場での取引を避けることを推奨
最適化の方向性
- 異なる移動平均線の期間パラメータをテストし、最適なパラメータの組み合わせを見つける
- 異なるストップトレーリング率のパラメータをテストし、最適なストップ水準を見つける
- 他の指標を追加し、レンジ相場で取引を停止するなど、突発的な事象の影響を回避する
まとめ
本戦略は、移動平均線指標によるトレンド方向の判断とトレーリングストップ機構による利益確定を組み合わせ、トレーニングデータにおいて良好なパフォーマンスを示しました。パラメータの組み合わせを最適化し、リスクをコントロールすることで、安定した収益が期待できます。ただし、いかなる戦略も損失を完全に回避できるわけではないため、適切なポジション管理と、異なる銘柄でのテスト、リスク分散を推奨します。
/*backtest
start: 2022-12-22 00:00:00
end: 2023-12-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
// ------------------------------------------------------------------------------ 1

