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

フィボナッチ0.7レベルトレンドブレークスルーに基づく定量的な取引戦略

作者: リン・ハーンチャオチャン開催日:2024年12月27日 15:51:13
タグ:SLTP

img

概要

この戦略は,フィボナッチ0.7リトラセーションレベルをベースとしたトレンドブレークスルー取引システムである.価格がフィボナッチ0.7レベルを突破すると取引シグナルを生成し,指定されたバックバック期間の最高値と最低値を使用して計算される.この戦略はリスク管理のために固定パーセントの利益とストップ・ロスのレベルを使用し,デフォルトポジションサイズとして口座資本の5%を使用する.

戦略原則

戦略の基本論理は次の主要な要素に基づいています

  1. ダイナミックフィボナッチレベル計算: 指定されたバックバック期間の内 (デフォルト20期) の最高値と最低値を継続的に追跡し,0.7フィボナッチリトレースメントレベルを計算します.
  2. 突破シグナル確認: 閉じる価格が0.7値を超えるとロングシグナルと,その下を突破するとショートシグナルを生成する.
  3. リスクマネジメント: システムでは対称的な得益とストップ・ロスの条件を導入し,得益の設定は1.8%とストップ・ロスの設定は1.2%で,ポジティブな期待値アプローチを反映しています.
  4. ポジションサイズ: ポジションサイズに固定された口座資本の割合を使用し,動的なマネーマネジメントと一貫したリスク管理を容易にする.

戦略 の 利点

  1. 科学指標の選択: フィボナッチリトラセッメントは広く認識されている技術分析ツールで,0.7レベルは通常強いサポートまたはレジスタンスを表します.
  2. 明確なシグナル論理: 価格突破をトレードトリガーとして利用し,複雑なシグナル組み合わせによる潜在的な遅れを回避する.
  3. 合理的なリスク/報酬比: 利益とストップ・ロスの比の設定は,長期的に安定した利益をもたらすポジティブな期待値を反映する.
  4. 柔軟なマネーマネジメント: 口座の割合に基づいてポジションサイズを設定すると,口座のサイズが変わると取引量が自動的に調整されます.

戦略リスク

  1. 市場環境による依存: 異なる市場で頻繁に誤った突破信号を生成し,取引コストを増加させる可能性があります.
  2. パラメータの敏感性: リークバック期間の選択,利益の引き上げ,ストップロスの比率は戦略のパフォーマンスに大きく影響する.
  3. スリップ影響: 取引量が少ない市場では,大きなスリップリスクに直面する可能性があります.
  4. 技術的な制限:単一の技術指標は多次元市場情報を完全に把握できない場合があります.

戦略の最適化方向

  1. シグナルフィルタリング: 偽の突破信号をフィルタリングするために,ボリュームや変動などの補助指標を導入できます.
  2. ダイナミックパラメータ: 市場変動に基づいて回顧期と利益/損失比をダイナミックに調整することを検討する.
  3. 時間フィルタリング: 高い変動期間の回避のために取引時間窓の制限を追加します.
  4. 複数のタイムフレームの検証: 信号の信頼性を向上させるために,複数のタイムフレームに確認メカニズムを追加する.

概要

この戦略は,クラシックなフィボナッチ理論とトレンド突破とリスク管理の核心要素を組み合わせている.特定の制限があるが,適切なパラメータ最適化とシグナルフィルタリングを通じて,さまざまな市場条件で安定したパフォーマンスを維持する可能性がある.戦略の成功の実施には,トレーダーは市場の特徴を深く理解し,実際の状況に基づいて適切な調整と最適化を行う必要がある.


/*backtest
start: 2024-11-26 00:00:00
end: 2024-12-25 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Fibonacci 0.7 Strategy - 60% Win Rate", overlay=true)

// Input parameters
fibonacci_lookback = input.int(20, minval=1, title="Fibonacci Lookback Period")
take_profit_percent = input.float(1.8, title="Take Profit (%)")
stop_loss_percent = input.float(1.2, title="Stop Loss (%)")

// Calculating Fibonacci levels
var float high_level = na
var float low_level = na
if (ta.change(ta.highest(high, fibonacci_lookback)))
    high_level := ta.highest(high, fibonacci_lookback)
if (ta.change(ta.lowest(low, fibonacci_lookback)))
    low_level := ta.lowest(low, fibonacci_lookback)

fib_level_0_7 = high_level - ((high_level - low_level) * 0.7)

// Entry Conditions
buy_signal = close > fib_level_0_7 and close[1] <= fib_level_0_7
sell_signal = close < fib_level_0_7 and close[1] >= fib_level_0_7

// Risk management
long_take_profit = strategy.position_avg_price * (1 + take_profit_percent / 100)
long_stop_loss = strategy.position_avg_price * (1 - stop_loss_percent / 100)
short_take_profit = strategy.position_avg_price * (1 - take_profit_percent / 100)
short_stop_loss = strategy.position_avg_price * (1 + stop_loss_percent / 100)

// Execute trades
if (buy_signal)
    strategy.entry("Buy", strategy.long)
if (sell_signal)
    strategy.entry("Sell", strategy.short)

// Take Profit and Stop Loss
if (strategy.position_size > 0)
    strategy.exit("Take Profit/Stop Loss", "Buy", stop=long_stop_loss, limit=long_take_profit)
if (strategy.position_size < 0)
    strategy.exit("Take Profit/Stop Loss", "Sell", stop=short_stop_loss, limit=short_take_profit)

// Plot Fibonacci Level
plot(fib_level_0_7, color=color.blue, title="Fibonacci 0.7 Level")


関連性

もっと