
この戦略は,超トレンドと移動平均を組み合わせた戦略である.この戦略は,超トレンドが上昇傾向を示し,10日EMAが20日SMAより高いときに超トレンドの指標と移動平均を使用し,超トレンドが下降傾向を示し,10日EMAが20日SMAより低いときに空きをする,典型的なトレンド追跡戦略である.
この戦略は,スーパートレンド指標を使用して市場の傾向の方向を判断する.スーパートレンド指標は,Average True RangeとFactorに基づいて計算される.価格がスーパートレンドラインより高いときは上昇傾向であり,価格がスーパートレンドラインより低い場合は下降傾向である.この戦略のFactorは3.0で,ATRの長さは10で.
さらに,戦略では10日EMAと20日SMAを使用して移動平均を構築する.EMA (指数移動平均) は,最近の価格により高い重みを与え,SMA (簡易移動平均) は,すべてのデータを等重さで考慮する.短期EMAが長期SMAよりも高くなると,購入信号とみなされる.
この戦略の取引シグナルGenerationの論理は,以下のようにまとめられます.
多頭入場:スーパートレンド>0 (上昇傾向) と10日EMA>20日SMA
空頭入場:超トレンド (下向き) と10日EMA <20日SMA
つまり,超トレンドがトレンドの方向を決定する一方で,移動平均の金叉死叉を補助判断として使用して,そのトレンドを追跡する戦略を構築する.
この戦略の最大の利点は,スーパートレンドと移動平均の2つの指標を組み合わせることで,信頼性と感度 (both) が向上することにある.具体的には,主に以下のいくつかの利点はあります.
この戦略にはいくつかのリスクがあります.
超トレンドでは,異なるATR長さとファクターパラメータをテストして最適化することができます.移動平均では,EMAとSMAの長さをテストできます.反測周期は,異なる市場環境を十分に考慮する必要があります.
この戦略の最適化余地は大きく,以下の側面から最適化できます.
参数調整と補助指標のフィルターを追加することで,戦略のパフォーマンスと安定性をさらに向上させることができます.また,リスクを効果的に制御するために,ストップ・ローズ戦略の配置も重要です.
この戦略は,超トレンドと移動平均を組み合わせた戦略と呼ばれ,超トレンドを使用してトレンドの方向性を判断し,EMAとSMAを組み込む取引信号は,典型的なトレンド追跡戦略の1つです.この戦略は,高い信頼性があり,最適化スペースが大きいので,実験的にテストして最適化する価値があります.しかし,リスク管理にも注意し,パラメータ最適化を過度に防ぐことも必要です.
/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Supertrend and Moving Averages Strategy", overlay=true)
// Supertrend parameters
atrLength = input.int(10, title="ATR Length", minval=1)
factor = input.float(3.0, title="Factor", minval=0.01, step=0.01)
[supertrend, direction] = ta.supertrend(factor, atrLength)
// Moving Averages parameters
length_ema = input(10, title="Length of EMA")
length_sma = input(20, title="Length of SMA")
// Calculate EMAs and SMAs
ema_10 = ta.ema(close, length_ema)
sma_20 = ta.sma(close, length_sma)
// Strategy logic
longCondition = ema_10 > sma_20 and direction > 0
shortCondition = ema_10 < sma_20 and direction < 0
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
// Plot Supertrend
plot(direction > 0 ? supertrend : na, color=color.green, style=plot.style_line, linewidth=2, title="Up Trend")
plot(direction < 0 ? supertrend : na, color=color.red, style=plot.style_line, linewidth=2, title="Down Trend")
// Plot Moving Averages
plot(ema_10, color=color.blue, title="10 EMA")
plot(sma_20, color=color.red, title="20 SMA")
// Alerts for Supertrend
alertcondition(direction[1] > direction, title='Downtrend to Uptrend', message='The Supertrend value switched from Downtrend to Uptrend ')
alertcondition(direction[1] < direction, title='Uptrend to Downtrend', message='The Supertrend value switched from Uptrend to Downtrend')
alertcondition(direction[1] != direction, title='Trend Change', message='The Supertrend value switched from Uptrend to Downtrend or vice versa')