資源の読み込みに... 荷物...

突破型移動平均傾向追跡戦略

作者: リン・ハーンチャオチャン開催日:2023年12月28日 15:47:21
タグ:

img

概要

この戦略は,トレンドを判断し,突破点を確認するために移動平均値,振幅指数,パラボリックSAR指標を組み合わせます.これは典型的なトレンドフォロー戦略に属します. 上向きトレンドと価格突破を特定する際にトレンドを追跡するためにロングポジションを確立します.トレンド逆転を判断するときにストップ損失のためにポジションを閉じる.

原則

この戦略は,価格傾向を判断するためにダブルEMAを使用し,サポートとしてSMAを使用する.高速EMAがスローEMAよりも高く,高速SMAがスローSMAよりも高くなった場合,上昇傾向があると考えられる.

価格の逆転点を判断するためにパラボリックSAR指標を使用します.PSARが最高価格を下回ると,価格は下回転する可能性があります.この時点でストップロスのポジションを閉じる.

PSARが最高価格を超えると,価格は上昇し続けることを意味します.この時点で,トレンドを追跡するのが長くなります.

利点

  • 誤った突破をフィルタリングできるトレンドを判断するために SMAとダブル EMAを使用します
  • 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)

もっと