資源の読み込みに... 荷物...

SMAのクロスオーバートレンドと戦略を順守するハイキン・アシのスムーズ化

作者: リン・ハーンチャオチャン,日付: 2024-11-29 16:39:12
タグ:SHASMAエイマ

img

概要

この戦略は,スムーズなハイキン・アシ・キャンドルストックとシンプル・ムービング・平均 (SMA) のクロスオーバーに基づいたトレンドフォローシステムである. EMA-スムーズなハイキン・アシ・キャンドルストックと44期SMAの交差点を通じてトレンド変化を特定し,市場の主要なトレンド機会を把握する.この戦略には,価格が長期移動平均にあまりにも近いときに自動的にポジションを閉鎖するダイナミックポジション管理メカニズムが含まれ,市場統合における振動リスクを回避する.

戦略の原則

基本論理は3つの主要な要素で構成される.第一に,市場騒音をフィルターするために開,高,低,閉価格の算術平均を計算することによって,伝統的なキャンドルスタイヤをハイキン・アシキャンドルスタイヤに変換する.第二に,ハイキン・アシの安定化のために6期間のEMAを使用し,シグナル信頼性をさらに向上させる.最後に,平滑したハイキン・アシの閉値と44期間のSMAを組み合わせ,上向きのクロスで長い信号と下向きのクロスで短い信号を生成する.

戦略 の 利点

  1. 総合的な信号フィルタリングメカニズム,ハイキン・アシとEMAの二重スムーズ化により偽ブレイクを大幅に減らす
  2. 主要なトレンド動きを効果的に把握できる論理に従う明確なトレンド
  3. 統合中にタイムリーに終了するように設計されたダイナミックストップ・ロースメカニズム
  4. 合理的なパラメータ設定で,市場パターンに準拠した11期短期および44期長期移動平均値
  5. 明確で直感的な取引シグナルと優れた視覚化

戦略リスク

  1. 初期トレンド逆転期間の潜在的遅延は,少し遅れたエントリにつながります
  2. 高波動性のある市場条件下で誤ったクロスオーバー信号が発生する可能性
  3. 異なる計器の特殊調整を必要とするパラメータ設定に対する感度
  4. 明確な動向がない市場での潜在的な頻繁な取引

戦略の最適化方向

  1. ADX指標のようなトレンド強度フィルターを追加し,明確なトレンドでの取引のみを推奨します
  2. 信号の信頼性を向上させるため,量価格確認メカニズムを導入できる.
  3. 主要価格水準の近くで頻繁に取引を避けるため,スリップ防止のメカニズムを導入することを検討する
  4. 市場変動に基づいて自動的に調整するダイナミックな利益/損失メカニズムを設計できる
  5. ポジション管理モジュールを追加して,トレンド強度に基づいて保持比率を動的に調整することを提案する

概要

この戦略は,ハイキン・アシのキャンドルスタイクとSMAシステムを組み合わせて,強力なトレンドフォローリングシステムを構築する.包括的な信号生成メカニズムと合理的なリスク管理を備えており,特にトレンド特性が異なる市場に適しています.この戦略の実用的な有効性は,提案された最適化方向によってさらに強化できます.全体として,明確な論理を持つ,よく設計されたトレンドフォローリング戦略を表しています.


/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Smoothed Heikin Ashi with SMA Strategy", overlay=true)

// Input parameters for SMAs
s1 = input.int(11, title="Short SMA Period")
s2 = input.int(44, title="Long SMA Period")
noPositionThreshold = input.float(0.001, title="No Position Threshold", step=0.0001)

// Calculate the original Heikin-Ashi values
haClose = (open + high + low + close) / 4
var float haOpen = na
haOpen := na(haOpen[1]) ? (open + close) / 2 : (haOpen[1] + haClose[1]) / 2
haHigh = math.max(high, math.max(haOpen, haClose))
haLow = math.min(low, math.min(haOpen, haClose))

// Smoothing using exponential moving averages
smoothLength = input.int(6, title="Smoothing Length")
smoothedHaClose = ta.ema(haClose, smoothLength)
smoothedHaOpen = ta.ema(haOpen, smoothLength)
smoothedHaHigh = ta.ema(haHigh, smoothLength)
smoothedHaLow = ta.ema(haLow, smoothLength)

// Calculate SMAs
smaShort = ta.sma(close, s1)
smaLong = ta.sma(close, s2)

// Plotting the smoothed Heikin-Ashi values
plotcandle(smoothedHaOpen, smoothedHaHigh, smoothedHaLow, smoothedHaClose, color=(smoothedHaClose >= smoothedHaOpen ? color.green : color.red), title="Smoothed Heikin Ashi")
plot(smaShort, color=color.blue, title="SMA Short")
plot(smaLong, color=color.red, title="SMA Long")

// Generate buy/sell signals based on SHA crossing 44 SMA
longCondition = ta.crossover(smoothedHaClose, smaLong)
shortCondition = ta.crossunder(smoothedHaClose, smaLong)
noPositionCondition = math.abs(smoothedHaClose - smaLong) < noPositionThreshold

// Strategy logic
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)
if (noPositionCondition and strategy.position_size != 0)
    strategy.close_all("No Position")

// Plot buy/sell signals
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", size=size.small)
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", size=size.small)
plotshape(series=noPositionCondition and strategy.position_size != 0, location=location.belowbar, color=color.yellow, style=shape.labeldown, text="EXIT", size=size.small)

関連性

もっと