マルチクラウドモメンタムEMA戦略:一目均衡表と指数移動平均線に基づくトレンド取引システム

ICHIMOKU EMA VOLUME FILTER CLOUD BREAKOUT momentum TREND FOLLOWING STOP LOSS
作成日: 2025-08-04 13:51:36 最終変更日: 2025-08-04 13:51:36
コピー: 0 クリック数: 203
2
フォロー
319
フォロワー

マルチクラウドモメンタムEMA戦略:一目均衡表と指数移動平均線に基づくトレンド取引システム マルチクラウドモメンタムEMA戦略:一目均衡表と指数移動平均線に基づくトレンド取引システム

戦略概要

多層雲動量EMA戦略は,一目均衡雲 ((イチモク・クラウド) と指数移動平均 ((EMA) を組み合わせたトレンド追跡システムである.この戦略は,雲の位置,取引量フィルター,EMA技術指標に対する価格を判断することによって,市場のトレンド方向を識別し,適切な時に買入・売却シグナルを発信する.この戦略は,同時に,ダイナミック・ストップ・メカニズムを使用してリスクを制御し,比較的完全な取引システムになる.

戦略原則

この戦略は以下の核心原則に基づいています.

  1. ブログの記事ではこう述べています.

    • 価格が雲層の上方 ((Tenkan-senと基調線Kijun-senより高い) に位置し,その他の条件を満たしているとき,システムは多元信号を生成する.
    • 価格が雲の下 (変換線Tenkan-senと基准線Kijun-senより下) で,他の条件を満たしているときに,システムは空調信号を生成する.
  2. 取引量確認:

    • 策略は,取引量フィルターを使用して,取引量が過去N期間の平均取引量よりも高い場合にのみ入場することを保証します.
    • これは,十分な市場参加を確保し,信号の信頼性を高めるのに役立ちます.
  3. EMAの指標のフィルター:

    • 選択的にEMAフィルター条件を追加し,価格が上場時にEMA上に,空調時にEMA下に要求する.
    • EMA ((44サイクル) は,同時に,価格がEMAを突破したときに,退出シグナルとして平仓する.
  4. ストップダスト設定:

    • パーセンテージ・ストップで,入場料のデフォルトの2%をカスタマイズできます.
    • これは取引に明確なリスク管理パラメータを提供します.

論理的なプロセスを実行する戦略:

  1. 一見均衡雲の各指標を計算する (変換線,基準線,先行帯A,先行帯B)
  2. 44サイクルEMAと取引量条件を計算する
  3. 価格とクラウドの位置,取引量条件,選択可能なEMAフィルタリング条件に基づいて購入/販売の機会を判断する
  4. 条件を満たしたときに入場し,ストップを設定します.
  5. 価格がEMAを突破すると,現在のポジションから退出

戦略的優位性

  1. 複数の指標の確認信号の信頼性を高め,偽信号のリスクを低減する.

  2. フレキシブルな条件配置: 策略は,EMAフィルタリング条件を満たす必要があるかどうかをユーザーにカスタマイズさせ,異なる市場環境に適応性を提供します.

  3. リスクの管理: パーセンテージ・ストップ・ロスの設定により,明確なリスク管理パラメータを提供し,資金の安全性を保護します.

  4. トレンドを捉える能力EMAの確認は,中長期のトレンドを捉える戦略の能力を強化しています.

  5. 流動性の考慮取引量フィルターで,十分な流動性のある市場での取引のみを保証し,低流動性の環境の不確実性を回避します.

  6. 明確な入場・出場論理策略は,明瞭な入場 ((クラウドブレイク+取引量)) と出場 ((EMAブレイクまたはストップ) の条件を備えており,取引意思決定プロセスを明確にする.

戦略リスク

  1. 横盤市場も不振だった.: トレンド追跡戦略として,横軸振動の状況で誤信号が頻繁に発生し,連続的な損失を引き起こす可能性があります. 解決策: 波動率フィルターを追加して,低波動率環境で取引を一時停止することができます.

  2. 遅滞のリスク一目,均衡雲指標は,特に先行帯が26周期の位移を設定しているため,遅滞性があるため,入場タイミングが望ましくない可能性があります. 解決策:位移パラメータを調整するか,より敏感な短期指標を併用することを補助として検討することができます.

  3. トリガー周波数停止解決方法: 取引品種の波動性特性に応じてストップパーセンテージを動的に調整する.

  4. パラメータ感度: 戦略効果はパラメータ設定 (EMA周期,初等均衡雲パラメータなど) に敏感であり,異なる市場環境では異なるパラメータが必要になる可能性がある. 解決策:パラメータ最適化テストを行い,より安定したパラメータ組み合わせを見つける.

  5. 収益目標の欠如策略:明瞭な止損が定義されているが,利益目標が設定されていないため,リコールで既に利益が失われた可能性があります. 解決策:移動止損または利益目標のパラメータを増やす.

戦略最適化の方向性

  1. 動態参数調整:

    • 市場変動率の動向に応じて調整できる一目均衡雲パラメータとEMA周期
    • 波動性の高い市場ではより長い周期を使用し,低波動性の市場では異なる市場環境に対応するためにより短い周期を使用
    • この方法では,パラメータを固定することで,過度に適合するリスクが軽減されます.
  2. 市場環境のフィルターを増やすこと:

    • トレンド強度指数 (ADXなど) を追加し,強いトレンドの環境でのみ取引する
    • ATRのような波動率指標を追加し,極端な波動環境でポジションを調整するか,取引を一時停止する
    • これは,異なる市場環境における戦略の安定性を高めます.
  3. 止装置の最適化:

    • モバイル・ストップ機能を追加し,価格が有利に移動すると自動的にストップレベルを調整する
    • 変動率に基づく利益目標を設定し,特定の利益を達成した後に利益の一部をロックする
    • これは,明瞭な収益目標の欠如を解決する戦略です.
  4. 入場と出場は:

    • 貯蔵庫の建設と保管の分批の仕組みを実現し,タイミングの選択のリスクを低減
    • 信号の強さ (例えば価格と雲の距離) に応じてポジションの大きさを調整できます.
    • この方法により,全仓のリスクを低減し,資金の利用効率を高めることができます.
  5. 逆転確認の指標を追加する:

    • 動量指標 ((RSIやMACDのような) と組み合わせてトレンド反転シグナルを確認する
    • 試合開始時刻の精度が向上し,誤信号が減ります.

要約する

多層雲動力EMA戦略は,一目平衡の雲,EMA,取引量フィルターの統合されたトレンド追跡システムである.複数の技術指標の組み合わせによる使用により,この戦略は,トレンドをよりよく識別し,明確な入場および出場シグナルを提供することができる.同時に,内蔵されたストップダメージメカニズムは,リスク管理を保証する.

戦略の核心的な優位性は,価格位置,トレンド方向,取引量,動的ストップなど,複数の重要な取引要因を総合的に考慮して,比較的完全な取引意思決定の枠組みを構築することにある.しかし,トレンド追跡システムとして,この戦略は横断市場ではうまく機能しない可能性があり,パラメータ設定にはある種の感度がある.

この戦略は,推奨された方向の最適化,特に動的パラメータの調整,市場環境のフィルタリング,および停止メカニズムの最適化によって,異なる市場環境でより安定したパフォーマンスを期待しています. 最終的には,この戦略は,トレンドをフォローするトレーダーに構造化された技術分析の枠組みを提供し,トレンドの機会を把握しながらリスクを制御するのに役立ちます.

ストラテジーソースコード
/*backtest
start: 2024-08-04 00:00:00
end: 2025-08-02 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Ichimoku Cloud Buy & Sell w/ Custom EMA & Volume Filters", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === INPUTS ===
conversionPeriods = input.int(9, title="Tenkan-sen Periods")
basePeriods      = input.int(26, title="Kijun-sen Periods")
displacement     = input.int(26, title="Cloud Displacement")
laggingSpan      = input.int(52, title="Senkou Span B Periods")

emaPeriod        = input.int(44, title="EMA Length for Exit", minval=1)
avgVolLen        = input.int(10, title="Average Volume Length for Filter")
useStopLoss      = input.bool(true, title="Use Stop Loss for Exits")
stopLossPerc     = input.float(2.0, title="Stop Loss (%)", minval=0.1, step=0.1)
requireAboveEMA  = input.bool(true, title="Only Buy Above EMA?")
requireBelowEMA  = input.bool(true, title="Only Sell Below EMA?")

// === ICHIMOKU CALCULATIONS ===
tenkan = (ta.highest(high, conversionPeriods) + ta.lowest(low, conversionPeriods)) / 2
kijun  = (ta.highest(high, basePeriods) + ta.lowest(low, basePeriods)) / 2
senkouA = (tenkan + kijun) / 2
senkouB = (ta.highest(high, laggingSpan) + ta.lowest(low, laggingSpan)) / 2
senkouA_now = senkouA[displacement]
senkouB_now = senkouB[displacement]

// === EMA CALC ===
emaVal = ta.ema(close, emaPeriod)

// === VOLUME CONDITION ===
avgVol = ta.sma(volume[1], avgVolLen) // Excludes current candle's volume
volCondition = volume > avgVol

// === BUY CONDITION ===
buyCondition = (close > senkouA_now and close > senkouB_now and volCondition and (not requireAboveEMA or close > emaVal))

if buyCondition
    stopLevel = useStopLoss ? close * (1 - stopLossPerc / 100) : na
    strategy.entry("Buy", strategy.long)
    if useStopLoss
        strategy.exit("Buy SL", from_entry="Buy", stop=stopLevel)

// === SELL CONDITION ===
sellCondition = (close < senkouA_now and close < senkouB_now and volCondition and (not requireBelowEMA or close < emaVal))

if sellCondition
    stopLevelSell = useStopLoss ? close * (1 + stopLossPerc / 100) : na
    strategy.entry("Sell", strategy.short)
    if useStopLoss
        strategy.exit("Sell SL", from_entry="Sell", stop=stopLevelSell)

// === EXIT CONDITIONS ===
exitBuy = close < emaVal // Exit long if close < EMA
if exitBuy
    strategy.close("Buy")

exitSell = close > emaVal // Exit short if close > EMA
if exitSell
    strategy.close("Sell")

// === PLOTS ===
plot(emaVal, color=color.yellow, linewidth=2, title="EMA")
plot(senkouA, color=color.green, title="Senkou Span A", offset=displacement)
plot(senkouB, color=color.red, title="Senkou Span B", offset=displacement)