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

2倍平滑動平均傾向 戦略を踏まえて - 修正されたハイキン・アシに基づいた

作者: リン・ハーンチャオチャン開催日:2024年11月29日 15:03:37
タグ:

img

概要

この戦略は,修正されたハイキン・アシのろうそくに基づいたトレンドフォローシステムである.従来のハイキン・アシのろうそくに二重指数移動平均 (EMA) のスムージングを適用することにより,市場のノイズを効果的に軽減し,より明確なトレンド信号を提供します.この戦略は,上向きのトレンド中にポジションを保持し,下向きのトレンド中に市場から外れ,効率的なトレンド検出を通じて市場リターンを捕捉することで,ロングモードのみで動作します.

戦略の原則

基本論理には次の重要なステップが含まれます.

  1. OHLC価格データの初期EMA調整
  2. 調整価格を用いた改変されたヘイキン・アシ・キャンドルスタイルの計算
  3. 計算されたヘイキン・アシ・キャンドルスタイルの二次EMA平滑
  4. 調整された開閉価格と閉閉価格の比較による色変化の決定
  5. ろうそくが赤から緑に変わると購入信号の生成,緑から赤に変わると販売信号の生成
  6. 口座の株式ポジションのサイズを100%で取引する

戦略 の 利点

  1. 二重スムーズ化により 誤った信号が大幅に減少します
  2. ロングアプローチはショートセールリスクを除去する
  3. トレンド確認後のエントリーで 勝率が上がる
  4. 完全な信号システムは自動取引をサポートします
  5. 柔軟な時間枠の選択は,異なる取引ニーズを満たす
  6. 単純で明確な入国/出入国規則が執行を容易にする
  7. 異なる市場条件下でマネーマネジメントをサポートする

戦略リスク

  1. トレンド逆転時の潜在的な大きな引き上げ
  2. 複数の誤った信号が 市場範囲で起こり得る
  3. フルポジション取引は資本リスクを増やす
  4. 遅れたエントリー信号は,初期価格動きを見逃す可能性があります.
  5. 性能は異なる時間枠で大きく異なります

戦略の最適化方向

  1. 変動市場における誤った信号を減らすためにトレンド強度フィルターを導入する
  2. 資本利用を最適化するために動的ポジションサイズを導入する
  3. 引き下げリスクを制御するために,ストップ損失を後押しする機能を追加します.
  4. 信号確認のための追加的な技術指標を組み込む
  5. 戦略の安定性を向上させるための適応性のあるパラメータシステムを開発する

概要

この戦略は,ダブルスムージングと改造されたハイキン・アシのキャンドルスタイクをコアコンポーネントとして使用して,強力なトレンドフォローシステムを構築する. 戦略デザインは清潔で直接的で,理解し実行しやすく,さまざまな市場環境に適応するための複数の最適化方向性を提供している. 特定の遅れと引き下げリスクがあるにもかかわらず,適切なマネーマネジメントとリスク管理措置を通じて,この戦略は投資家に信頼できるトレンドフォローツールを提供することができます.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Smoothed Heiken Ashi Strategy Long Only", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input.int(10, title="EMA Length")
len2 = input.int(10, title="Smoothing Length")
start_date = input(defval=timestamp("2020-01-01"), title="Backtest Start Date")

o = ta.ema(open, len)
c = ta.ema(close, len)
h = ta.ema(high, len)
l = ta.ema(low, len)

haclose = (o + h + l + c) / 4
var float haopen = na
haopen := na(haopen[1]) ? (o + c) / 2 : (haopen[1] + haclose[1]) / 2
hahigh = math.max(h, math.max(haopen, haclose))
halow = math.min(l, math.min(haopen, haclose))

o2 = ta.ema(haopen, len2)
c2 = ta.ema(haclose, len2)
h2 = ta.ema(hahigh, len2)
l2 = ta.ema(halow, len2)

col = o2 > c2 ? color.red : color.lime

// Plot candles without visible wicks
plotcandle(o2, o2, c2, c2, title="Heikin Smoothed", color=col, wickcolor=color.new(col, 100))

// Delayed Buy and Sell signals
colorChange = col != col[1]
buySignal = colorChange[1] and col[1] == color.lime
sellSignal = colorChange[1] and col[1] == color.red

plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.lime, style=shape.triangleup, size=size.small)
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Strategy entry and exit
if (true)
    if (buySignal)
        strategy.entry("Long", strategy.long)
    if (sellSignal)
        strategy.close("Long")

// Add a vertical line at the start date
// if (time == start_date)
//     line.new(x1=bar_index, y1=low, x2=bar_index, y2=high, color=color.blue, width=2)

// Alert conditions
alertcondition(colorChange[1], title="Color Change Alert", message="Heiken Ashi Candle Color Changed")
alertcondition(buySignal, title="Buy Signal Alert", message="Buy Signal: Color changed from Red to Green")
alertcondition(sellSignal, title="Sell Signal Alert", message="Sell Signal: Color changed from Green to Red")

もっと