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

ハーモニックパターンとウィリアムズ%Rを組み合わせたマルチタイムフレーム取引戦略

作者: リン・ハーンチャオチャン, 日付: 2025-01-17 16:19:15
タグ:WPRSLTPRRポイント

 Multi-Timeframe Trading Strategy Combining Harmonic Patterns and Williams %R

概要

この戦略は,ハーモニック・パターンをウィリアムズ・パーセンテント・レンジ (WPR) 指標と組み合わせた高度な取引システムである.市場におけるハーモニック・フォーマション (ガートリー,バット,キャブ,バターフライパターンなど) を特定し,取引エントリー・エグジットポイントを決定するためにWPRの過剰購入/過剰販売レベルを使用する.この戦略は複数の確認メカニズムを使用し,技術指標のシネージを使用して,取引の正確性と信頼性を向上させる.

戦略の原則

基本的な論理にはいくつかの重要な要素が含まれます. 1. ハーモニック・パターンの認識:高値と低値の関係を分析することによって,価格のピボットポイントを使用して潜在的なハーモニック・形成を特定する. 2. ウィリアムズ %R 計算:WPR を計算するためにカスタム期間を使用し,市場条件を決定するために高値,低値,閉値間の関係を分析します. 3. 入国条件: - ロング エントリー: 上向きな調和パターンが現れ,WPRは過売れ領域にあるとき - ショート エントリー: 下落の調和パターンが現れ,WPRが過買い領域にあるとき 4. リスク管理: 最近の低値/高値に基づいて動的なストップロスを実施し,リスク・リターン比を用いて収益率を設定する.

戦略 の 利点

  1. 多次元分析: パターン分析とモメントインジケーターを組み合わせて,より信頼性の高い取引信号を提示する.
  2. 堅牢なリスク管理: ダイナミックなストップ・ロストとリスク・リワードベースのテイク・プロフィート設定を使用して,取引ごとにリスクを効果的に制御します.
  3. 高い適応性:パラメータ最適化によって異なる市場環境と機器に適応できます.
  4. シグナル確認メカニズム: 調和パターンとWPRを用いた二重確認によって偽信号を減らす.

戦略リスク

  1. パターン認識リスク: 単純化された調和パターン認識は,いくつかの形成の誤った識別につながる可能性があります.
  2. パラメータ感度:複数のパラメータは,間違った設定が戦略のパフォーマンスに影響を与えるため,慎重に最適化する必要があります.
  3. 市場環境依存性: 非常に不安定な市場や変動市場では劣悪なパフォーマンスを発揮する可能性があります.
  4. シグナル遅延:技術指標に基づくシグナルには固有の遅延がある可能性があります.

戦略の最適化方向

  1. パターン認識の強化:
    • 厳格なハーモニック比の検証を加える
    • 改善されたパターン識別のための価格構造分析を組み込む
  2. シグナルフィルタリング:
    • トレンドフィルターを追加する
    • 市場環境への適応のために波動性指標を考慮する
  3. リスク管理の最適化
    • リスク/報酬比を動的に調整する
    • 波動性に基づくポジションサイズを追加する

概要

この戦略は,ウィリアムズ%R指標と調和パターンを組み合わせて包括的な取引システムを構築する.その強みは多次元分析アプローチと堅牢なリスク管理メカニズムにあるが,パラメータ最適化と市場環境適応に注意を払う必要があります.提案された最適化方向性によって,戦略の安定性と信頼性がさらに向上することができます.


/*backtest
start: 2025-01-09 00:00:00
end: 2025-01-16 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/

//@version=5
strategy("Harmonic Pattern with WPR Backtest", overlay=true)

// === Inputs ===
patternLength = input.int(5, title="Pattern Length")
wprLength = input.int(14, title="WPR Length")
wprOverbought = input.float(-20, title="WPR Overbought Level")
wprOversold = input.float(-80, title="WPR Oversold Level")
riskRewardMultiplier = input.float(0.618, title="Take-Profit Risk/Reward Multiplier")
stopLossBuffer = input.float(0.005, title="Stop-Loss Buffer (%)")

// === Manual Calculation of William Percent Range (WPR) ===
highestHigh = ta.highest(high, wprLength)
lowestLow = ta.lowest(low, wprLength)
wpr = ((highestHigh - close) / (highestHigh - lowestLow)) * -100

// === Harmonic Pattern Detection (Simplified Approximation) ===
// Calculate price pivots
pivotHigh = ta.pivothigh(high, patternLength, patternLength)
pivotLow = ta.pivotlow(low, patternLength, patternLength)

// Detect Bullish and Bearish Harmonic Patterns
bullishPattern = pivotLow and close > ta.lowest(close, patternLength)  // Simplified detection for bullish patterns
bearishPattern = pivotHigh and close < ta.highest(close, patternLength)  // Simplified detection for bearish patterns

// === Entry Conditions ===
longCondition = bullishPattern and wpr < wprOversold
shortCondition = bearishPattern and wpr > wprOverbought

// === Stop-Loss and Take-Profit Levels ===
longEntryPrice = close
longSL = ta.valuewhen(longCondition, low, 0) * (1 - stopLossBuffer)  // Stop-loss for long trades
longTP = longEntryPrice * (1 + riskRewardMultiplier)  // Take-profit for long trades

shortEntryPrice = close
shortSL = ta.valuewhen(shortCondition, high, 0) * (1 + stopLossBuffer)  // Stop-loss for short trades
shortTP = shortEntryPrice * (1 - riskRewardMultiplier)  // Take-profit for short trades

// === Backtesting Logic ===
// Long Trade
if longCondition
    strategy.entry("Long", strategy.long)
    strategy.exit("Long Exit", "Long", stop=longSL, limit=longTP)

// Short Trade
if shortCondition
    strategy.entry("Short", strategy.short)
    strategy.exit("Short Exit", "Short", stop=shortSL, limit=shortTP)

// === Visualization ===
bgcolor(longCondition ? color.new(color.green, 90) : na, title="Long Entry Signal")
bgcolor(shortCondition ? color.new(color.red, 90) : na, title="Short Entry Signal")


関連性

もっと