Diese Strategie ist ein fortschrittliches Handelssystem, das mehrere technische Analysewerkzeuge kombiniert, hauptsächlich auf Basis höherer Zeitrahmen-Fibonacci-Retracement-Levels und Preis-hohe-niedrige Breakout-Bedingungen, um Handelssignale zu generieren. Die Strategie berechnet dynamisch höhere Zeitrahmen-Preisdaten, kombiniert Fibonacci-Retracement-Level und angepasste Preis-Breakout-Bedingungen, um ein vollständiges Handelsentscheidungssystem zu bilden. Dieser Ansatz berücksichtigt sowohl allgemeine Markttrends als auch kurzfristige Preis-Breakouts und ist in der Lage, potenzielle Handelschancen an Marktturnpunkten zu erfassen.
Die Kernlogik der Strategie basiert auf drei Hauptpfeilern: Erstens ist die höhere Zeitrahmenpreisanalyse, die durch die Berechnung der täglichen oder höheren Zeitrahmen-OHLC-Preise eine makroökonomischere Marktperspektive schafft. Zweitens ist die dynamische Berechnung der Fibonacci-Retracement-Levels, die auf der Grundlage der höheren Zeitrahmenpreisklasse wichtige Unterstützungs- und Widerstandsniveaus festlegt. Schließlich wird die Preisdurchbrechungsbestimmung durch die Festlegung der höchsten und niedrigsten Preise über Lookback-Perioden als Breakout-Referenzen ausgelöst. Kaufsignale werden ausgelöst, wenn der Preis über die jüngsten Tiefs bricht und über das 50% Fibonacci-Retracement-Niveau überschreitet, während Verkaufssignale generiert werden, wenn der Preis unter die jüngsten Höchststände bricht und unter das 50% Fibonacci-Retracement-Niveau fällt.
Es handelt sich um ein gut konzipiertes Handelssystem, das eine theoretisch solide und praktische Handelsstrategie erstellt, indem es mehrere klassische technische Analyse-Tools kombiniert. Das größte Merkmal der Strategie ist die Fähigkeit, durch mehrdimensionale Analyse zuverlässigere Handelssignale bereitzustellen und gleichzeitig genügend Flexibilität beibehalten, um sich an verschiedene Marktumgebungen anzupassen. Während es einige inhärente Risiken gibt, können die Stabilität und Zuverlässigkeit der Strategie durch die vorgeschlagenen Optimierungsrichtungen weiter verbessert werden. Für Händler, die bereit sind, Zeit in die Optimierung von Parametern und die Verbesserung der Strategie zu investieren, ist dies ein ausgezeichneter Grundrahmen.
/*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)