トレンド予測 ダブル移動平均戦略

作者: リン・ハーンチャオチャン,日付: 2024-02-02 17:39:54
タグ:

img

概要

トレンド予測・ダブル・ムービング・平均戦略は,トレンドが実際に1つのトレンドから別のトレンドに突破する前にトレンド変化を予測しようとする戦略である.これはLazyBearのWaveTrend指標を拡張する.この戦略は,価格トレンドを特定し,曲線を埋め込む視覚効果を通じて購入・販売信号を表示することができる.

戦略原則

この戦略は,LazyBearのWaveTrend指標をベースにしている.WaveTrend自体は優れたトレンド追跡指標である.この戦略は,この基盤で拡張され最適化される.主なステップは以下のとおりである:

  1. 平均HLC価格を計算する
  2. EMA 平均価格を計算する
  3. 絶対値偏差のEMAを計算する
  4. ゼロレベル調整指標を計算する
  5. トレンドのEMAを計算する
  6. 移動平均を計算する

このような処理により,ランダムな価格変動をフィルタリングし,比較的明確な傾向を特定することができる.高速移動平均値と遅い移動平均値の交差は,購入および販売信号を発行するために使用できる.

利点分析

この戦略には以下の利点があります.

  1. 価格動向を効果的に特定できる
  2. タイミングでシグナルを生成し 傾向の逆転を事前に予測できる
  3. カーブを埋めることで 傾向を明確に視覚化する
  4. 異なる品種とサイクルに応じて調整できる大きなパラメータ最適化スペース

リスク分析

この戦略にはいくつかのリスクもあります:

  1. すべての技術指標戦略と同様に,極端な価格変動の場合,失敗のリスクがあります.
  2. 誤ったパラメータ設定は,誤った信号を引き起こす可能性があります.
  3. シグナル遅延は損失を引き起こす可能性があります.

これらのリスクは,パラメータを調整したり,他の指標を組み合わせたりなどの方法によって軽減できます.

オプティマイゼーションの方向性

戦略は以下の側面で最適化できます.

  1. より多くの品種とサイクルに合うようにパラメータを調整
  2. 損失リスクを制御するためのストップ・ロスの戦略を強化する
  3. 信号の正確性を向上させるために他の指標と組み合わせる
  4. 傾向を判断し,シグナルを発信するのに役立つ機械学習モデルを増やす

概要

トレンド予測ダブル移動平均戦略は,非常に有望な戦略です. 価格動向を効果的に特定し,トレンド変化を事前に予測しようとします. いくつかの最適化と改善により,戦略は強力な定量的な取引システムになることができます. シンプルで直接的な取引論理と明確な視覚効果により,学習と調査に値する戦略になります.


/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("BreakingDawn [JackTz]", overlay = true)

// WaveTrend [LazyBear]
// ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

n1 = input(10, "Channel Length")
n2 = input(21, "Average Length")
 
WTfactor = input(4, title=" WTFactor")
averageHlc3 = sum(hlc3, WTfactor) / WTfactor
ap = averageHlc3 
esa = ema(ap, n1)
d = ema(abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ema(ci, n2)
wt1 = tci
wt2 = sma(wt1,4)
wtAvg = wt1-wt2
wtPeriodAvgVal = wtAvg * 45 + averageHlc3
wtPeriodAvg2Val = wtAvg * 25 + averageHlc3

buy = wtAvg[1] < wtAvg and wtAvg < close
sell = wtAvg[1] > wtAvg

fillColor = buy ? color.green : color.red
control = plot(wtPeriodAvgVal, color = fillColor)
signal = plot(wtPeriodAvg2Val, color = fillColor)
fill(signal, control, color = fillColor)

if year > 2016
    strategy.entry("buy", strategy.long, when = buy)
    strategy.close("buy",when = sell)


もっと