TEMA/DEMA/HMA 戦略をフォローする傾向

作者: リン・ハーンチャオチャン, 日付: 2023-09-21 10:56:41
タグ:

概要

この戦略は,TEMA/DEMAの黄金クロス/デッドクロス信号に入力するためにTEMA,DEMAおよびHMAの移動平均を組み合わせ,HMAを使用してトレンド方向を決定し,反トレンド取引をフィルターします.

戦略の論理

  1. TEMA,DEMA,HMAの移動平均を計算する
  2. TEMAが DEMAを横切ると長引く
  3. TEMAがDEMAの下を通ると短走する
  4. HMA トレンド方向を計算します. HMA トレンドと一致している場合にのみ入力します.

具体的には,中期トレンドを測定するためにDEMA,短期トレンドを測定するためにTEMA,長期トレンドを測定するためにHMAを使用します. 取引は,短期/中期トレンドが一致するときにのみ行われます (TEMA/DEMA調整ブレイク),長期トレンドが一致するときにのみ行われます (HMA方向がブレイクに一致します).

利点分析

  1. 複数の移動平均値を組み合わせることで精度が向上します
  2. HMAのトレンドフィルターは,反トレンド取引を避ける.
  3. TEMA/DEMA は 明確な 取引 信号 を 形成 する
  4. 3つのラインのカスタム期間は異なるサイクルに適合します
  5. トレンドと取引することで,引き上げリスクが減ります

リスク分析

  1. 複雑な多線組み合わせはパラメータ調整を必要とする
  2. HMAの傾向は価格動きに遅れることがある
  3. 遅れて参入するリスクがある
  4. 悪いパラメータは不必要なリバース取引を増やす可能性があります

リスクはパラメータ最適化,ストップ損失,入場規則の緩和などによって管理できる.

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

  1. 最適なパラメータを見つけるために異なる期間の組み合わせをテスト
  2. 補助的な確認としてMACD等を追加することを評価します.
  3. 引き上げを減らすために利益をロックするために後続ストップ損失を追加します
  4. 異なる製品のパラメータの優先順位を研究する
  5. 長期的傾向の取引への参入規則の緩和

概要

この戦略は,トレンドを決定するために複数の移動平均指標を組み合わせてシグナルを生成する. 利点は明確な信号と高い構成可能性であり,デメリットは遅れのリスクとパラメータ依存性である. リスクはパラメータ最適化,ストップ損失などによって制御され,組み合わせた移動平均システムの力を利用することができる. これはトレーダーがトレンドトレーディング技術を全面的にマスターするのに役立ちます.


// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tuned-com

//@version=4
strategy("TEMA/DEMA/HMA", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=1000000, commission_type=strategy.commission.percent, commission_value=0.1)

Tlength = input(8, title="TEMA Length", minval=1)
Dlength = input(43, title="DEMA Length", minval=1)
Hlength = input(52, title="Hull Length", minval=1)
Rlength = input(2, title="Hull Trend Test Length", minval=1)


//TEMA//
ema1 = ema(close, Tlength)
ema2 = ema(ema1, Tlength)
ema3 = ema(ema2, Tlength)
tema = 3 * (ema1 - ema2) + ema3

//DEMA//
e1 = ema(close, Dlength)
e2 = ema(e1, Dlength)
dema = 2 * e1 - e2

//HMA//
hma = wma(2 * wma(close, Hlength / 2) - wma(close, Hlength), round(sqrt(Hlength)))


up = crossunder(dema, tema) and rising(hma, Rlength)
down = crossover(dema, tema) and falling(hma, Rlength)

downc = crossunder(dema, tema)
upc = crossover(dema, tema)

plot(dema, color=color.green, linewidth=2)
plot(tema, color=color.aqua, linewidth=2)

plot(hma, color=rising(hma, Rlength) ? color.green : na, linewidth=2, transp=0)
plot(hma, color=falling(hma, Rlength) ? color.red : na, linewidth=2, transp=0)

bgcolor(rising(hma, Rlength) ? color.green : na, transp=70)
bgcolor(falling(hma, Rlength) ? color.red : na, transp=70)

plotarrow(tema - dema, colorup=color.green, colordown=color.red, transp=70)



if up
    strategy.entry("Long Entry", strategy.long)

if down
    strategy.entry("Short Entry", strategy.short)

もっと