이 전략은 상거래 신호를 생성하기 위해 주로 높은 시간 프레임 피보나치 리트레이싱 레벨과 가격 높은-저한 브레이크 아웃 조건을 기반으로 한 여러 기술적 분석 도구를 결합한 고급 거래 시스템입니다. 이 전략은 더 높은 시간 프레임 가격 데이터를 동적으로 계산하여 피보나치 리트레이싱 레벨과 사용자 정의 가격 브레이크 아웃 조건을 결합하여 완전한 거래 결정 시스템을 형성합니다. 이 접근법은 전체 시장 추세와 단기 가격 브레이크 아웃 모두를 고려하여 시장 전환점에 잠재적 인 거래 기회를 포착 할 수 있습니다.
이 전략의 핵심 논리는 세 가지 주요 기둥에 기반하고 있다. 첫째는 더 높은 시간 프레임 가격 분석이며, 일일 또는 더 높은 시간 프레임 OHLC 가격을 계산함으로써 보다 거시 시장 관점을 확립한다. 둘째는 피보나치 리트레이션 레벨의 동적 계산이며, 더 높은 시간 프레임 가격 범위를 기반으로 주요 지원 및 저항 수준을 설정한다. 마지막으로, 브레이크 오브 레퍼런스로서 룩백 기간 동안 가장 높고 가장 낮은 가격을 설정함으로써 가격 브레이크 오브 결정이다. 가격이 최근 최저치를 넘어서 50% 피보나치 리트레이션 수준을 넘어서면 구매 신호가 발생하고, 가격이 최근 최고치를 넘어서 50% 피보나치 리트레이션 수준을 넘어서면 판매 신호가 발생한다.
이것은 여러 가지 고전 기술 분석 도구를 결합하여 이론적으로 건전하고 실용적인 거래 전략을 만드는 잘 설계 된 거래 시스템입니다. 전략의 가장 큰 특징은 다양한 시장 환경에 적응할 수있는 충분한 유연성을 유지하면서 다차원 분석을 통해 더 신뢰할 수있는 거래 신호를 제공하는 것입니다. 몇 가지 내재된 위험이 있지만 제안된 최적화 방향에 의해 전략의 안정성과 신뢰성이 더욱 향상 될 수 있습니다. 매개 변수 최적화 및 전략 개선에 시간을 투자하려는 거래자에게 이것은 훌륭한 기본 프레임워크입니다.
/*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)