EPTS戦略は,パラボリックSAR指標と異なる期間の2つの指数関数移動平均値 (EMA) をベースとしたトレンドフォロー戦略である.この戦略は,パラボリックSAR指標を使用して現在の市場トレンド方向を決定し,速いEMAと遅いEMAの相対位置を考慮してエントリーシグナルを生成する.戦略の背後にある主なアイデアは"トレンドフォロー"である.これは安定した収益を達成するために上昇傾向でロング,下落傾向でショートを行うことを意味します.
パラボリック SAR インディケーターは,現在の市場傾向の方向性を決定するために使用されます.パラボリックがキャンドルスティックの上にあるとき,市場は下落傾向にあり,パラボリックがキャンドルスティックの下にあるとき,市場は上昇傾向にあります.
2つの指数関数移動平均値 (EMA) は,異なる期間でトレンドを確認し,エントリー信号を生成するために使用されます.この戦略は5日間の EMAと20日間の EMAを使用します.5日間の EMAが20日間の EMAを超える場合,市場は上昇傾向にあると考えられます.そうでなければ,それは下落傾向にあると考えられます.
入場条件:パラボリックSARとEMAの両方が上昇傾向を示すとき,長い信号が生成される.パラボリックSARとEMAの両方が下落傾向を示すとき,短い信号が生成される.
出口条件: Parabolic SAR がキャンドルスタイクを横切ると,現在のポジションは閉鎖され,戦略は次のエントリー信号を待っています.
ストップ・ロスト:ポジションに入ると,ストップ・ロスト価格はパラボリックSARの現在のポジションに設定されます.パラボリックSARが動くと,ストップ・ロストポジションは動的に調整され,トライリングストップ・ロスを実装します.
パラボリック SAR インディケーターと EMA を組み合わせることで,EPTS 戦略は市場動向を効果的に把握し,トレンドが逆転するときに迅速にポジションを閉じてリスクを制御できます.さらに,ダイナミックストップロスの設定により,戦略の引き上げリスクはさらに減少します.
トレンドフォロー: EPTS戦略は,市場の主要なトレンドを効果的に把握し,安定した収益を達成できるトレンドフォローの考えに基づいています.
ダイナミックストップ・ロスト:この戦略は,ダイナミックストップ・ロストとしてパラボリックSARを使用し,トレンドが発展するにつれてストップ・ロストポジションを調整し,リスクを効果的に制御します.
二重確認:パラボリック SAR と EMA の二重確認を使用することで,入力信号の信頼性が向上し,偽信号は減少します.
シンプルで使いやすい: 戦略の論理は明確で,パラメータ設定はシンプルで,理解し実行するのが簡単です.
不安定な市場: 傾向が明らかでない 不安定な市場では,戦略はより多くの誤った信号を生成し,頻繁な取引とより大きな引き上げにつながる可能性があります.
トレンドの逆転: 市場のトレンドが突然逆転すると,戦略はポジションの閉店を遅らせ,損失を伴う可能性があります.
パラメータ設定: 戦略のパフォーマンスにはパラメータ設定の影響があり,異なるパラメータが異なる結果をもたらす可能性があります.
より多くの指標を導入する.既存のパラボリック SAR と EMA に加え,傾向の識別の精度を向上させるために,MACD と ADX などの他の傾向関連指標を導入する.
入場条件を最適化:入場シグナルの質を向上させるために,価格とEMAとの間の距離,取引量などなどの要因を考慮して入場条件を最適化します.
ダイナミックパラメータ最適化: ダイナミックに戦略パラメータを調整し,パラボリックSARのステップサイズやEMAの期間など,市場の状況の変化に基づいて,異なる市場環境に適応します.
ポジションサイズを組み込む: 市場の動向と口座リスクの強さに基づいてポジションサイズを動的に調整し,収益を向上させながらリスクをコントロールする.
EPTS戦略は,パラボリックSAR指標と移動平均値に基づいたトレンドフォロー戦略である.主要市場トレンドを把握し,リスクを制御するためにポジションを適時に閉じることで,安定した収益を達成することを目的としている.戦略論理は明確で実行が容易で,明確なトレンドを持つ市場環境に適している.しかし,不安定な市場では,戦略は重大な引き下げリスクに直面し,適応性と強度を改善するために他の指標と最適化方法と組み合わせることが必要である.さらに,合理的なパラメータ設定とポジションサイジングも戦略の成功の鍵である.全体として,EPTS戦略はトレンドフォローにシンプルで効果的なアプローチを提供しているが,より良い戦略パフォーマンスを達成するために実際の市場状況に基づいて最適化と改善が必要である.
/*backtest start: 2024-02-01 00:00:00 end: 2024-02-29 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("febin2024", overlay=true) // Parabolic SAR Parameters start = input(0.02) increment = input(0.02) maximum = input(0.2) // EMA Parameters ema20_length = input(20, title="EMA 20 Length") ema5_length = input(5, title="EMA 5 Length") // Calculate EMAs ema20 = ta.ema(close, ema20_length) ema5 = ta.ema(close, ema5_length) // Parabolic SAR Logic var bool uptrend = na var float EP = na var float SAR = na var float AF = start var float nextBarSAR = na if bar_index > 0 firstTrendBar = false SAR := nextBarSAR if bar_index == 1 float prevSAR = na float prevEP = na lowPrev = low[1] highPrev = high[1] closeCur = close closePrev = close[1] if closeCur > closePrev uptrend := true EP := high prevSAR := lowPrev prevEP := high else uptrend := false EP := low prevSAR := highPrev prevEP := low firstTrendBar := true SAR := prevSAR + start * (prevEP - prevSAR) if uptrend if SAR > low firstTrendBar := true uptrend := false SAR := math.max(EP, high) EP := low AF := start else if SAR < high firstTrendBar := true uptrend := true SAR := math.min(EP, low) EP := high AF := start if not firstTrendBar if uptrend if high > EP EP := high AF := math.min(AF + increment, maximum) else if low < EP EP := low AF := math.min(AF + increment, maximum) if uptrend SAR := math.min(SAR, low[1]) if bar_index > 1 SAR := math.min(SAR, low[2]) else SAR := math.max(SAR, high[1]) if bar_index > 1 SAR := math.max(SAR, high[2]) nextBarSAR := SAR + AF * (EP - SAR) if barstate.isconfirmed if uptrend strategy.entry("ParSE", strategy.short, stop=nextBarSAR, comment="ParSE") strategy.cancel("ParLE") else strategy.entry("ParLE", strategy.long, stop=nextBarSAR, comment="ParLE") strategy.cancel("ParSE") // Plot Parabolic SAR plot(SAR, style=plot.style_cross, linewidth=3, color=color.orange) plot(nextBarSAR, style=plot.style_cross, linewidth=3, color=color.aqua) // Plot EMAs plot(ema20, color=color.blue, linewidth=2, title="EMA 20") plot(ema5, color=color.red, linewidth=2, title="EMA 5") // Equity Plot plot(strategy.equity, title="Equity", color=color.green, linewidth=2)