移動平均ブレイクアウトによるトレンドフォロー戦略


作成日: 2023-12-28 15:47:21 最終変更日: 2023-12-28 15:47:21
コピー: 2 クリック数: 525
1
フォロー
1623
フォロワー

移動平均ブレイクアウトによるトレンドフォロー戦略

概要

この戦略は,移動平均,幅度指標,パラパラ線転換指標を組み合わせて,トレンドの判断と突破点の確認を実現し,典型的なトレンド追跡戦略に属します.判断が上昇傾向にあり,価格が最高点を突破したときに多項取引を確立し,トレンド追跡を実現します.判断がトレンド逆転したときには平仓停止します.

戦略原則

この戦略は,二重EMAで価格の傾向を判断し,SMA補助判断を使用する. 快線EMAが慢線EMAの上にあり,快線SMAが慢線SMAの上にあり,上昇傾向にあると考えられる.

パラロイド・ライン・ターン・インジケーターPSARを使用して価格の反転点を判断する.PSARを下回って価格の最高点を通過すると,価格が反転して下落する可能性を示し,平仓止まる.

価格が上昇傾向と判断され,PSARで価格の最高点を通過すると,価格が上昇し続けることを示す.このとき,トレンドを多めに追跡する.

優位分析

  • ダブルEMAとSMAで判断するトレンドを使用し,偽のブレイクをフィルターできます.
  • PSARは,反転点を効率的に判断し,迅速な停止を可能にします.
  • トレンドの転換点を効果的に識別し,適切なタイミングでポジションを追跡する.
  • ルールが明確で操作が簡単です.

リスク分析

  • 傾向判断の誤りがある可能性.
  • 戦略は,取引品種のパラメータに最適化する必要がある.そうでなければ,チェーシングリスクが大きい可能性があります.
  • 取引コストを考慮していない問題がある.

解決策は

  • EMAとSMAのパラメータを最適化し,判断の精度を向上させる.
  • 異なる品種に対してPSARパラメータを最適化する.
  • 取引コストを考慮する

最適化の方向

  • BOLL,MACDなど,より多くの指標の判断トレンドを追加します.
  • 培養と改良のパラメータ
  • ストップ・ロスの策略を考える
  • ポジション構築とストップ・ロージックの最適化.

要約する

この戦略は全体的に比較して典型的なトレンド追跡戦略である.利点は,ルールがより明確でシンプルで,トレンド転換を識別できる点である.欠点は,パラメータに比喩的に敏感であり,一定のチャージングリスクがある点である.全体的にさらに最適化して調整した後にリアルタイムで検証する価値がある.主な最適化方向は,パラメータ最適化,止損戦略の追加などである.

ストラテジーソースコード
/*backtest
start: 2023-11-27 00:00:00
end: 2023-12-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Buy Dip MA & PSAR", overlay=true)

PSAR_start = input(0.02)
PSAR_increment = input(0.02)
PSAR_maximum = input(0.2)

EMA_fast = input(20)
EMA_slow = input(40)
SMA_fast = input(100)
SMA_slow = input(200)

emafast = ema(close, EMA_fast)
emaslow = ema(close, EMA_slow)
smafast = sma(close, SMA_fast)
smaslow = sma(close, SMA_slow)

psar = sar(PSAR_start, PSAR_increment, PSAR_maximum)
uptrend = emafast > emaslow and smafast > smaslow
breakdown = not uptrend

if (psar >= high and uptrend)
    strategy.entry("Buy", strategy.long, stop=psar, comment="Buy")
else
    strategy.cancel("Buy")

if (psar <= low)
    strategy.exit("Close", "Buy", stop=psar, comment="Close")
else
    strategy.cancel("Close")

if (breakdown)
    strategy.close("Buy")


plot(emafast, color=blue)
plot(emaslow, color=red)