クラウドブレイクアウトに基づくデュアル移動平均モメンタム戦略

CLOUD MA
作成日: 2025-02-08 15:10:06 最終変更日: 2025-02-08 15:10:06
コピー: 4 クリック数: 330
1
フォロー
1617
フォロワー

クラウドブレイクアウトに基づくデュアル移動平均モメンタム戦略

概要

この戦略は,雲の突破と双均線交差に基づく動的取引システムである.それは,一目瞭然の雲指標の複数の構成要素を組み合わせて,市場のトレンドの方向と動力の変化を認識し,価格と雲の位置関係,および変換線と基準線の交差によって取引信号を生成する.戦略の核心思想は,強度のトレンドの中で動力の機会を捉えることである.

戦略原則

戦略は以下の重要な要素を使用しています.

  1. 変換線 ((Tenkan-Sen):短期市場動向を反映した9周期間の最高値と最低値の中間点を計算する
  2. ベンチライン ((Kijun-Sen):26期間の最高値と最低値の中間点を計算し,中期市場動向を反映する
  3. 先行帯A ((Senkou Span A):変換線と基準線の平均値,前方位26サイクル
  4. 先行帯B ((Senkou Span B): 52周期間の最高値と最低値の中間点を計算し,26周期を前に移動する
  5. 落後ライン ((Chikou Span):現在の閉盘価格が26サイクル後退した

応募条件:

  • 多頭:価格が雲の上 (先行帯AとBより高い) で,変換線で基準線を横切る
  • 空頭:価格が雲の下 (先行帯AとBより下) で,変換線が基準線を下を通過する

出発条件:逆の取引シグナルが発生したときに平仓

戦略的優位性

  1. 複数のタイムフレーム分析:異なる周期の指標の組み合わせにより,より包括的な市場視点を提供
  2. トレンド確認: 雲の位置をトレンドフィルターとして使用し,偽突破のリスクを低減する
  3. 動量認識:均線交差によって動量変化を捉え,入場時刻の精度を向上させる
  4. 適応性:指標のパラメータは,市場の変動に応じて自動的に調整され,異なる市場環境に対応します.
  5. 視覚的直感: 雲の可視化により,トレンドの方向と強さを把握できます.

戦略リスク

  1. 横盤整理の段階で頻繁に偽信号が生じる可能性
  2. 遅滞のリスク: 長期周期の移動平均を使用しているため,いくつかの迅速な市場機会を逃す可能性があります.
  3. パラメータの感受性: パラメータの異なる設定は,戦略のパフォーマンスに大きく影響する.
  4. トレンド反転のリスク:突然のトレンド反転で大きな引き下げが起こり得る

リスク管理の提案:

  • 他の技術指標と交叉検証
  • 適切なストップロスポジションを設定する
  • 異なる市場周期の動向に合わせて調整するパラメータ
  • ポジション管理戦略の実施

戦略最適化の方向性

  1. パラメータ最適化:
  • 異なる市場環境に対するパラメータ感受性分析
  • 適応パラメータ調整メカニズムを導入
  1. 信号のフィルター:
  • 取引量確認メカニズムの追加
  • ボラティリティフィルターを追加
  • 市場構造分析と組み合わせた
  1. リスク管理:
  • ダイナミック・ストップ・メカニズムの開発
  • 波動率に基づくポジション管理を実現する
  • 返却制御モジュールへの追加

要約する

これは,トレンド追跡とダイナミック取引を組み合わせた総合的な戦略システムである. 雲層突破と均線交差の組み合わせによる使用は,戦略の安定性を維持しながら,市場トレンドの機会を効果的に捉えることができる. 戦略の成功的な適用は,パラメータ最適化,リスク管理,市場適応の3つの重要な側面に真剣に注目する必要があります.

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

//@version=5
strategy("Ichimoku Cloud Strategy", shorttitle="IchimokuStrat", overlay=true)

//=== Užívateľské vstupy ===//
tenkanLen          = input.int(9,   "Tenkan-Sen Length")
kijunLen           = input.int(26,  "Kijun-Sen Length")
senkouSpanBLen     = input.int(52,  "Senkou Span B Length")
displacement       = input.int(26,  "Cloud Displacement")

//=== Výpočet Ichimoku liniek ===//

// Tenkan-Sen (Conversion Line)
tenkanHigh = ta.highest(high, tenkanLen)
tenkanLow  = ta.lowest(low, tenkanLen)
tenkan     = (tenkanHigh + tenkanLow) / 2.0

// Kijun-Sen (Base Line)
kijunHigh = ta.highest(high, kijunLen)
kijunLow  = ta.lowest(low, kijunLen)
kijun     = (kijunHigh + kijunLow) / 2.0

// Senkou Span A = (Tenkan + Kijun)/2, posunutý dopredu
spanA = (tenkan + kijun) / 2.0

// Senkou Span B = (highest high + lowest low)/2, posunutý dopredu
spanBHigh = ta.highest(high, senkouSpanBLen)
spanBLow  = ta.lowest(low, senkouSpanBLen)
spanB     = (spanBHigh + spanBLow) / 2.0

// Chikou Span (voliteľný) = current close, posunutý dozadu
chikou = close[displacement]

//=== Podmienky pre LONG / SHORT ===//
// Cena NAD oblakom => close > spanA a close > spanB
// Tenkan NAD Kijun => tenkan > kijun
longCondition = (close > spanA and close > spanB) and (tenkan > kijun)

// Cena POD oblakom => close < spanA a close < spanB
// Tenkan POD Kijun => tenkan < kijun
shortCondition = (close < spanA and close < spanB) and (tenkan < kijun)

//=== Vstup do pozícií ===//
if longCondition
    strategy.entry("Long", strategy.long)
if shortCondition
    strategy.entry("Short", strategy.short)

//=== Výstup pri opačnom signáli ===//
if strategy.position_size > 0 and shortCondition
    strategy.close("Long", comment="Exit Long")
if strategy.position_size < 0 and longCondition
    strategy.close("Short", comment="Exit Short")

//=== Vykreslenie Ichimoku = vyplnený oblak ===//

// Najskôr si ulož premenne (plot) pre spanA, spanB
plotA = plot(spanA, title="Span A", offset=displacement, color=color.new(color.green, 0))
plotB = plot(spanB, title="Span B", offset=displacement, color=color.new(color.red, 0))

// Namiesto plotfill() použijeme fill()
fill(plotA, plotB, title="Cloud Fill", color=color.new(color.green, 80))