13期間および48期間のEMAに基づくトレンドフォロー戦略


作成日: 2023-11-03 14:15:59 最終変更日: 2023-11-03 14:15:59
コピー: 1 クリック数: 1025
1
フォロー
1617
フォロワー

13期間および48期間のEMAに基づくトレンドフォロー戦略

概要

この戦略は,13周期と48周期の指数移動平均 ((EMA) をベースに取引信号を構築し,双EMA金叉死叉タイプのトレンド追跡戦略に属します. 短期EMAで長期EMAを突破するときに多額の取引を行い,短期EMAの下では長期EMAを突破するときに平価取引を行います. この戦略は,長期周期のトレンドをキャプチャし,市場の短期変動に誤導されないようにして,安定した利益を得ます.

戦略原則

この戦略は13周期EMAを短期EMAとして,48周期EMAを長期EMAとして使用する.短期EMAを快線,長期EMAを慢線として仮定する.

短線が下からゆっくりとした線を横断すると,買入シグナルが生じます.このとき,短期トレンドは長期トレンドより強いものになり始め,トレンドが強くなっていることを意味します.

快線が上から下から慢線を貫くとき,平仓信号が生じます.このとき,短期トレンドは長期トレンドより弱くなって,トレンドが弱くなって,多すぎると引き戻しが起こりうるので,平仓ストップを選択します.

このような金叉死叉操作によって,順番に,時効的に損失を止めて,短期的な波動をトレンドの逆転として引き起こされる不必要な損失を避けることができます.

戦略的優位性

  • 長期周期のトレンドを捉え,短期市場の騒音に惑わされないようにする。13サイクルと48サイクルのパラメータ選択により,価格データを平らにし,より長いトレンドの方向を識別することができる。

  • 撤回制御能力が強い。短期トレンドが弱くなり,迅速に止まり,損失を効果的に制御することができる。

  • シンプルで論理的. 双EMA交差は一般的なトレンド戦略であり,理解しやすく把握できます.

  • 拡張性強. 原始的な基礎で他の補助指標を導入して最適化することができる.

戦略リスク

  • 短期的な市場の変動が頻繁に起こる場合,不必要な取引シグナルが繰り返し発生する可能性があります.

  • EMAのパラメータが設定されず,トレンドを識別する能力が劣っており,Captureが誤った方向に進む可能性があります.

  • 傾向の強さや弱さを判断できず,最終段階で上昇すると損失が及ぶ.

  • 特定の入学地点が特定できないため,後期調整の危険性があります.

戦略最適化の方向性

  • トレンドを判断する補助指標を導入し,上昇を避ける.例えば,取引量指標,波動率指標などの導入.

  • EMAパラメータを最適化して,Captureのトレンドサイクルを異なる品種の特性に合わせたものにする.

  • 移動停止,パーセンテージ・ストップなどの止損方法を追加してリスクを低減する.

  • フィルタリング条件を追加し,トレンドの揺れ期における無効取引を避ける.例えば,DMI,KDJなどの判断トレンドの状態を導入する.

  • 他の入場指標と組み合わせて入場ポイントを正確に設定する.例えば,MACDシグナルで,特定の買い売り時間を明確に設定する.

要約する

この戦略は,13サイクルと48サイクルEMAを形成する金叉死叉システムによって,より長い周期のトレンド方向を識別することができ,順番に,トレンドが終了する前に止まる. これは,よりシンプルで実用的なトレンド追跡戦略である. しかし,おそらくCapture誤方向とオーバーキャプティングのリスクは依然として存在します. 補助指標,最適化パラメータ,止損方法の追加などの導入によって改善することができ,戦略をより安定して信頼できます.

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

//@version=3

// strategy("EMA Strategy 13 48", shorttitle = "EMA Strategy 13 48", overlay=true, pyramiding = 3,default_qty_type = strategy.percent_of_equity, default_qty_value = 1000)


// === Inputs ===
// short ma
maFastSource   = input(defval = close, title = "Fast MA Source")
maFastLength   = input(defval = 13, title = "Fast MA Period", minval = 1)

// long ma
maSlowSource   = input(defval = close, title = "Slow MA Source")
maSlowLength   = input(defval = 48, title = "Slow MA Period", minval = 1)


// === Vars and Series ===
fastMA = ema(maFastSource, maFastLength)
slowMA = ema(maSlowSource, maSlowLength)

plot(fastMA, color=blue)
plot(slowMA, color=purple)

goLong() => crossover(fastMA, slowMA)
killLong() => crossunder(close, fastMA)
strategy.entry("Buy", strategy.long, when = goLong())
strategy.close("Buy", when = killLong())

// Shorting if using
goShort() => crossunder (fastMA, slowMA)
killShort() => crossover(fastMA, slowMA)
//strategy.entry("Sell", strategy.short, when = goShort())
//strategy.close("Sell", when = killShort())