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

高低ブレークアウト取引システムによる高度なタイムフレームフィボナッチリトラセシオン

作者: リン・ハーンチャオチャン開催日:2024年11月28日 15:01:25
タグ:HTFFIBOHLマルチBBRSI

img

概要

この戦略は,複数の技術分析ツールを組み合わせた高度な取引システムで,主に高時間枠フィボナッチリトレースメントレベルと価格高低ブレイクアウト条件に基づいて取引信号を生成する.この戦略は,高時間枠価格データを動的に計算し,フィボナッチリトレースメントレベルとカスタマイズされた価格ブレイクアウト条件を組み合わせて完全な取引決定システムを形成する.このアプローチは,市場全体のトレンドと短期価格ブレイクの両方を考慮し,市場のターニングポイントで潜在的な取引機会を把握することができます.

戦略の原則

この戦略のコアロジックは3つの主要な柱の上に構築されている.第一は,より高いタイムフレーム価格分析であり,日々のまたはより高いタイムフレームOHLC価格を計算することによってよりマクロ市場視点を確立する.第二は,より高いタイムフレーム価格範囲に基づいて主要なサポートとレジスタンスレベルを設定するフィボナッチリトレースメントレベルのダイナミックな計算である.最後に,ブレイクレスの基準としてバックバック期間の最高と最低価格を設定することによって価格ブレイク決定.価格が最近の低点を超えて50%フィボナッチリトレースメントレベルを超えると購入信号が起動され,価格が最近の最高値を下回り,50%フィボナッチリトレースメントレベルを下回ると販売信号が生成される.

戦略 の 利点

  1. 多次元分析:価格アクション,トレンドフォロー,サポート/レジスタンスを含む技術分析で最も尊敬されている要素を組み合わせます.
  2. 高い適応性:パラメータは,時間期間,バックバック期間,フィボナッチレベルを含む異なる市場状況に応じて調整できます.
  3. 総合的なリスク管理: 複数の確認メカニズムを通じて偽のブレイクリスクを軽減します.
  4. 高度な可視化: すべての主要な価格レベルがチャート上ではっきりと表示され,取引決定が容易になります.
  5. 高い柔軟性:様々な取引手段と期間に適用できます.

戦略リスク

  1. パラメータの感度: 異なる回顧期間の設定は,信号品質の大きな違いを引き起こす可能性があります.
  2. 市場状況による依存: 変動する市場で過剰な誤った信号を生む可能性があります.
  3. 遅延リスク:回顧期間のデータを使用したため,急速に動いている市場における最適なエントリーポイントを逃す可能性があります.
  4. 過剰な最適化リスク:パラメータの過剰な最適化により将来のパフォーマンスが低下する可能性があります.

戦略の最適化方向

  1. 波動性フィルタリングを追加: 波動性の低い期間をフィルタリングするために,ATRやボリンジャー帯域幅のような指標を追加することを推奨します.
  2. トレンドフィルタリングを統合する: 全体的なトレンド方向性を確認するために移動平均システムを追加することができます.
  3. 入力タイミングを最適化します. RSIのようなモメントインジケーターを組み込むことで入力のタイミングを向上させることができます.
  4. ダイナミックパラメータ調整: 市場状況に基づいてパラメータを自動的に調整するための適応メカニズムを導入する.
  5. リスク管理強化: ダイナミックなストップ・ロストと利益目標設定を追加する.

概要

この戦略は,複数のクラシックな技術分析ツールを組み合わせて理論的に健全で実践的な取引戦略を作成する,よく設計された取引システムである.この戦略の最大の特徴は,異なる市場環境に適応するための十分な柔軟性を維持しながら,多次元分析を通じてより信頼できる取引信号を提供する能力である.いくつかの固有のリスクがあるものの,戦略の安定性と信頼性は,提案された最適化方向によってさらに強化することができます.パラメータ最適化と戦略改善に時間を投資するトレーダーにとって,これは優れた基本的なフレームワークです.


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

//@version=5
strategy("Fibonacci Levels Strategy with High/Low Criteria", overlay = true)

// Kullanıcıdan yüksek zaman dilimini ve mum bilgilerini al
timeframe = input.timeframe(defval = "D", title = "Higher Time Frame")
currentlast = input.string(defval = "Last", title = "Current or Last HTF Candle", options = ["Current", "Last"])

// Kullanıcıdan en düşük ve en yüksek fiyat bakış sürelerini al
lowestLookback = input(20, "Lowest Price Lookback", tooltip="The strategy will BUY when the price crosses over the lowest it has been in the last X amount of bars")
highestLookback = input(10, "Highest Price Lookback", tooltip="If Take-Profit is not checked, the strategy will SELL when the price crosses under the highest it has been in the last X amount of bars")

// Fibonacci seviyeleri ayarları
level0 = input.float(defval = 0.000, title = "Level 0")
level1 = input.float(defval = 0.236, title = "Level 1")
level2 = input.float(defval = 0.382, title = "Level 2")
level3 = input.float(defval = 0.500, title = "Level 3")
level4 = input.float(defval = 0.618, title = "Level 4")
level5 = input.float(defval = 0.786, title = "Level 5")
level100 = input.float(defval = 1.000, title = "Level 100")

// HTF mumlarını hesapla
newbar = ta.change(time(timeframe)) != 0 
var float htfhigh = high
var float htflow = low
var float htfopen = open
float htfclose = close
var counter = 0

if newbar
    htfhigh := high
    htflow := low
    htfopen := open
    counter := 0
else
    htfhigh := math.max(htfhigh, high)
    htflow := math.min(htflow, low)
    counter += 1

var float open_ = na
var float high_ = na
var float low_ = na
var float close_ = na
if currentlast == "Last" and newbar
    open_ := htfopen[1]
    high_ := htfhigh[1]
    low_ := htflow[1]
    close_ := htfclose[1]
else if currentlast == "Current"
    open_ := htfopen
    high_ := htfhigh
    low_ := htflow
    close_ := htfclose

// Fibonacci seviyelerini hesapla
var float[] fibLevels = array.new_float(6)
array.set(fibLevels, 0, open_ + (high_ - low_) * level0)
array.set(fibLevels, 1, open_ + (high_ - low_) * level1)
array.set(fibLevels, 2, open_ + (high_ - low_) * level2)
array.set(fibLevels, 3, open_ + (high_ - low_) * level3)
array.set(fibLevels, 4, open_ + (high_ - low_) * level4)
array.set(fibLevels, 5, open_ + (high_ - low_) * level5)

// Fibonacci seviyelerini grafik üzerine çiz
plot(array.get(fibLevels, 0), color=color.new(color.blue, 75), title="Fibonacci Level 0")
plot(array.get(fibLevels, 1), color=color.new(color.green, 75), title="Fibonacci Level 1")
plot(array.get(fibLevels, 2), color=color.new(color.red, 75), title="Fibonacci Level 2")
plot(array.get(fibLevels, 3), color=color.new(color.orange, 75), title="Fibonacci Level 3")
plot(array.get(fibLevels, 4), color=color.new(color.teal, 75), title="Fibonacci Level 4")
plot(array.get(fibLevels, 5), color=color.new(color.navy, 75), title="Fibonacci Level 5")

// En düşük ve en yüksek fiyat kriterlerini hesapla
lowcriteria = ta.lowest(low, lowestLookback)[1]
highcriteria = ta.highest(high, highestLookback)[1]

plot(highcriteria, color=color.green, title="Highest Price Criteria")
plot(lowcriteria, color=color.red, title="Lowest Price Criteria")

// Fibonacci seviyeleri ile ticaret sinyalleri oluştur
longCondition = close > lowcriteria and close > array.get(fibLevels, 3) // En düşük kriterin ve Fibonacci seviyesinin üstüne çıkarsa alım
shortCondition = close < highcriteria and close < array.get(fibLevels, 3) // En yüksek kriterin ve Fibonacci seviyesinin altına düşerse satış

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)


関連性

もっと