三重指数移動平均クロスオーバーに基づく取引戦略


作成日: 2023-09-19 15:41:47 最終変更日: 2023-09-19 15:41:47
コピー: 1 クリック数: 611
1
フォロー
1617
フォロワー

概要

この戦略は,2つの異なるパラメータの2組の三重指数移動平均 (TEMA) の交差を計算して,買入と売却の信号を判断する. 快線TEMAの上を通過すると買入信号が生成され,下を通過すると売り信号が生成される. この戦略は,潜在的なトレンドの転換点を発見するために,TEMA平滑曲線の優位性を組み合わせている.

戦略原則

  1. 短線TEMAとして,時間長さ34のセットのトリプルEMAを計算する.

  2. 13の時間長さのセットの3重のEMAを慢線TEMAとして計算する.

  3. 速線TEMA上で遅線TEMAを穿越すると,買取信号が生成される。

  4. 速線TEMAの下の慢線TEMAを通過すると,出売信号が生成される.

  5. ストラテジーモジュールで自動注文管理.

優位分析

  1. TEMA曲線はより滑らかで,偽信号を減らすことができます.

  2. 曲線を交差させることで,短期的および長期的トレンドの変化を捉えることができます.

  3. 戦略信号はシンプルで明快で実行しやすい.

  4. パラメータを自由に調整し,異なる周期に対応します.

  5. プレセット ストップダメージと停止位置,リスク制御

リスク分析

  1. パラメータを正しく設定しない場合,誤信号が多く発生する可能性があります.

  2. TEMAは遅滞しており,突発的な事態を逃しているかもしれない.

  3. 緊急事態の予期せぬ部分もある.

  4. 傾向と抵抗の判断を組み合わせる必要があります.

  5. 返信するリスクがある.

最適化の方向

  1. テストして最適化パラメータを組み合わせる.

  2. フィルタリング条件を増やして信号の質を保証する.

  3. 関連指数で大きなトレンドを判断する

  4. 退出メカニズムを確立し,過時保有を防止する.

  5. 固定ストップを動的ストップに調整する.

  6. 異なる品種と周期の実体効果をテストする.

要約する

この戦略は,TEMA指標の平滑の優位性と交差判定を利用して,単純な取引信号を生成する.パラメータ最適化,厳格なフィルタリング,リスク制御により,安定したトレンド追跡戦略となる.全体的に,この戦略は実用性が強く,よりよいリターンを得るために深層の最適化テストに値する.

ストラテジーソースコード
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-18 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title="TEMA With Alert", shorttitle="ALRTEMA", overlay = true )
//Blue
Length = input(34, minval=1)
xPrice = close
xEMA1 = ema(xPrice, Length)
xEMA2 = ema(xEMA1, Length)
xEMA3 = ema(xEMA2, Length)
nRes = 3 * xEMA1 - 3 * xEMA2 + xEMA3


//RED
Length2 = input(13, minval=1)
xPrice2 = close
xEMA12 = ema(xPrice2, Length2)
xEMA22 = ema(xEMA12, Length2)
xEMA32 = ema(xEMA22, Length2)
nRes2 = 3 * xEMA12 - 3 * xEMA22 + xEMA32


buy = 1
sell = 0

x = if nRes > nRes2
	buy
else
	sell


c = cross(nRes, nRes2)

xy = "Do Some Thing :" + tostring(x)


alertcondition(c, title="Crosing Found", message=xy)

plot(nRes, color=red)
plot(nRes2, color=blue)

short = cross(nRes, nRes2) and nRes > nRes2
long = cross(nRes, nRes2) and nRes < nRes2

strategy.entry("long", strategy.long, when=long)
strategy.entry("short", strategy.short, when=short)