DEMAとTEMAのクロスオーバー戦略


作成日: 2024-01-03 16:47:08 最終変更日: 2024-01-03 16:47:08
コピー: 0 クリック数: 845
1
フォロー
1621
フォロワー

DEMAとTEMAのクロスオーバー戦略

戦略概要

この戦略は,双指数移動平均と三指数移動平均の交差戦略と呼ばれる.この戦略は,双指数移動平均と三指数移動平均の交差信号を組み合わせて,DEMAとTEMAの金叉死叉によって入場判断する.

2. 戦略の原則

この戦略は,主に二指数移動平均 ((DEMA) と三指数移動平均 ((TEMA) の交差に基づいて取引信号を生成する.

双指数移動平均 (DEMA) の計算式は次のとおりである.

DEMA = 2*EMA1 - EMA2

その中,EMA1とEMA2は,それぞれ長度周期がNである指数関数移動平均である.DEMAはEMAの平滑性と応答の迅速性を組み合わせている.

三指数移動平均 (TEMA) の計算式は次のとおりである.

TEMA = 3*(EMA1 - EMA2) + EMA3

その中で,EMA1,EMA2およびEMA3は,それぞれ長度周期がNである指数関数移動平均である.TEMAは,三次指数平滑を経由して,偽突破をフィルターすることができる.

DEMA上はTEMAを穿越すると,買入シグナルを生じ,DEMA下はTEMAを穿越すると,売り出シグナルを生じます.双曲線交差の原理により,周期変換を捉え,出入りを間に合わせることができる。

3 戦略的優位性

  1. DEMAとTEMAは,EMA指数移動平均の最適化指数であり,取引の精度を向上させることができる.
  2. DEMAは価格変動を平滑化し,TEMAは偽の突破をフィルターし,合力を形成し,戦略の勝利率を向上させることができる.
  3. 速平均線DEMAと遅平均線TEMAを組み合わせると,交差信号はより正確で信頼性が高い.
  4. 双曲線交差原理によって取引シグナルを形成し,周期転換をタイミングで判断し,鍵となるエントリーポイントを把握することができる.

4 リスクと対処法

  1. 市場価格が激しく波動する時には,均線交差が頻繁に起こり,誤信号が生じ,適切なパラメータの調整が必要である.
  2. DEMAとTEMAの長さの設定が不適切であることも信号品質に影響し,パラメータの最適化が必要である.
  3. この戦略は,技術指標のみに基づいて取引シグナルを形成し,基本面検証が欠如し,失敗する可能性があります.他の指標またはモデル補助と組み合わせることができます.

5 戦略の最適化方向

  1. DEMAとTEMAの長さのパラメータをテストし,最適のパラメータ組み合わせを見つける.
  2. KDJ指数などの他の技術指標のフィルタを追加し,空白を判定し,効果を上げます.
  3. 機械学習モデルの予測結果を増やし,交差信号の有効性を検証し,誤信号を減らす.
  4. 取引量変化や市場情緒指標を組み合わせて真偽のクロス判断.

VI. 結論

この戦略は,二指数移動平均と三指数移動平均の交叉形成取引信号により,DEMAの応答速度とTEMAの波動作用を組み合わせて,取引の精度を向上させることができます.しかし,単一の指標の組み合わせは錯覚の影響を受けやすく,依然として複数の検証ツールの補助が必要で,長期にわたって安定した利益を得るために,システム的な取引システムを形成します.

ストラテジーソースコード
/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("DEMA-TEMA Cross Strategy", shorttitle="DEMA-TEMA Cross", overlay=true)

// Input options for Double EMA (DEMA)
dema_length = input.int(10, title="DEMA Length", minval=1)
dema_src = input(close, title="DEMA Source")

// Calculate Double EMA (DEMA)
dema_e1 = ta.ema(dema_src, dema_length)
dema_e2 = ta.ema(dema_e1, dema_length)
dema = 2 * dema_e1 - dema_e2

// Input options for Triple EMA (TEMA)
tema_length = input.int(8, title="TEMA Length", minval=1)
tema_src = input(close, title="TEMA Source")

// Calculate Triple EMA (TEMA)
tema_ema1 = ta.ema(tema_src, tema_length)
tema_ema2 = ta.ema(tema_ema1, tema_length)
tema_ema3 = ta.ema(tema_ema2, tema_length)
tema = 3 * (tema_ema1 - tema_ema2) + tema_ema3

// Crossover signals for long (small green arrow below candle)
crossover_long = ta.crossover(dema, tema)

// Crossunder signals for short (small red arrow above candle)
crossunder_short = ta.crossunder(dema, tema)

plotshape(crossunder_short ? 1 : na, title="Short Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
plotshape(crossover_long ? -1 : na, title="Long Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)

plot(dema, "DEMA", color=color.green)
plot(tema, "TEMA", color=color.blue)

if (crossover_long)
    strategy.entry("Long", strategy.long)

if (crossunder_short)
    strategy.entry("Short", strategy.short)