モメント・ブレイク付きの適応型移動平均クロスオーバーシステム

作者: リン・ハーンチャオチャン,日付: 2024-02-20 15:43:46
タグ:

img

I.概要

この戦略の核心は,適応型移動平均値とモメント指標を使用してブレイクアウト取引を実施することです.まず,戦略はハイケン・アシの重量平均価格と三重指数滑らかに適応型移動平均値を構築します.その後,モメント指標と組み合わせて,ブレイクアウト信号を判断し,取引決定を下します.

戦略の原則

戦略は主に3つの部分で構成されています.

  1. アダプティブ・ムービング・平均値の構築.この戦略は,ハイケン・アシ価格と三倍指数式スムージングを使用して3つの適応型ムービング・平均値を構築する.これらのムービング・平均値は価格変化に迅速に対応できる.

  2. 勢い指標の計算.この戦略は,勢い指標として価格の三倍指数式平滑の違いを使用する.この指標は価格動向の変化を強調することができます.

  3. 移動平均のクロスオーバーは,取引信号として用いられる. 速い移動平均が遅い平均を横切ると,買い信号が生成される. 速い平均が遅い平均を下回ると,売り信号が生成される.

戦略の利点

この戦略は,適応型移動平均値とモメント指標を組み合わせることで,価格の傾向の変化を迅速に把握し,取引信号を生成することができます.主な利点は以下の通りです.

  1. ハイケン・アシの価格で適応型移動平均を構成することで,価格変動に迅速に対応できます.
  2. 3倍指数式平滑は,価格データを効果的に平滑させ,異常値を処理することができます.
  3. 動向指標は価格の傾向の変化点を明確に識別できます
  4. 移動平均のクロスオーバーは明確な取引信号を生成します
  5. 柔軟なパラメータ設定で調整可能

IV リスクと緩和策

  1. クロスオーバー信号は,価格が激しく変動するときに誤解を招く可能性があります.必要に応じて信号をフィルターするためにパラメータを調整します.
  2. この戦略は牛市場ではよりうまく機能します.熊市場ではストップロスを使って資本を保護します.

V.最適化の方向性

  1. より良いパラメータを見つけるために,移動平均の種類をテストします.
  2. 偽信号を避けるため,音量フィルターなど,追加のフィルターを追加する.
  3. パラメータの設定を最適化して,異なる市場に対応できるようにする.

結論

この戦略は,価格変化に迅速に対応することで効率的な取引信号を生成するために,適応性のある移動平均値とモメント指標を統合する.パラメータチューニングを通じて,異なる市場環境に適応することができます.これは非常に実践的なブレークアウト取引戦略です.


/*backtest
start: 2024-01-20 00:00:00
end: 2024-02-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("YASIN Crossover Strategy", overlay=true)

EMAlength = input(55, 'EMA LENGTH?')

src = ohlc4
var float haOpen = na
haOpen := na(haOpen[1]) ? src : (src + haOpen[1]) / 2
haC = (ohlc4 + haOpen + ta.highest(high, 1) + ta.lowest(low, 1)) / 4
EMA1 = ta.ema(haC, EMAlength)
EMA2 = ta.ema(EMA1, EMAlength)
EMA3 = ta.ema(EMA2, EMAlength)
TMA1 = 3 * EMA1 - 3 * EMA2 + EMA3
EMA4 = ta.ema(TMA1, EMAlength)
EMA5 = ta.ema(EMA4, EMAlength)
EMA6 = ta.ema(EMA5, EMAlength)
TMA2 = 3 * EMA4 - 3 * EMA5 + EMA6
IPEK = TMA1 - TMA2
YASIN = TMA1 + IPEK
EMA7 = ta.ema(hlc3, EMAlength)
EMA8 = ta.ema(EMA7, EMAlength)
EMA9 = ta.ema(EMA8, EMAlength)
TMA3 = 3 * EMA7 - 3 * EMA8 + EMA9
EMA10 = ta.ema(TMA3, EMAlength)
EMA11 = ta.ema(EMA10, EMAlength)
EMA12 = ta.ema(EMA11, EMAlength)
TMA4 = 3 * EMA10 - 3 * EMA11 + EMA12
IPEK1 = TMA3 - TMA4
YASIN1 = TMA3 + IPEK1
t1 = time(timeframe.period, "0020-0030")


// بررسی شرایط سیگنال خرید و فروش
buyCondition = YASIN1 > YASIN and YASIN1[1] <= YASIN[1]
sellCondition = YASIN1 < YASIN and YASIN1[1] >= YASIN[1]

// اعمال سیگنال خرید و فروش
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.entry("Sell", strategy.short, when = sellCondition)

もっと