Chiến lược này là một hệ thống giao dịch tiên tiến kết hợp nhiều công cụ phân tích kỹ thuật, chủ yếu dựa trên các mức khôi phục Fibonacci khung thời gian cao hơn và các điều kiện đột phá giá thấp để tạo ra các tín hiệu giao dịch. Chiến lược tính toán dữ liệu giá khung thời gian cao hơn một cách năng động, kết hợp các mức khôi phục Fibonacci và các điều kiện đột phá giá tùy chỉnh để tạo thành một hệ thống quyết định giao dịch hoàn chỉnh. Cách tiếp cận này xem xét cả xu hướng thị trường tổng thể và các sự đột phá giá ngắn hạn, có khả năng nắm bắt các cơ hội giao dịch tiềm năng tại các thời điểm chuyển hướng của thị trường.
Chiến lược này được xây dựng dựa trên ba trụ cột chính: Đầu tiên là phân tích giá khung thời gian cao hơn, thiết lập một quan điểm thị trường vĩ mô hơn thông qua việc tính toán giá OHLC hàng ngày hoặc khung thời gian cao hơn. Thứ hai là tính toán năng động của mức khôi phục Fibonacci, thiết lập các mức hỗ trợ và kháng cự chính dựa trên phạm vi giá khung thời gian cao hơn. Cuối cùng, xác định giá thâm nhập bằng cách thiết lập giá cao nhất và thấp nhất trong các giai đoạn tìm kiếm như tham chiếu thâm nhập. Các tín hiệu mua được kích hoạt khi giá vượt qua mức thấp gần đây và vượt qua mức khôi phục Fibonacci 50%, trong khi các tín hiệu bán được tạo ra khi giá vượt qua mức cao gần đây và giảm xuống dưới mức khôi phục Fibonacci 50%.
Đây là một hệ thống giao dịch được thiết kế tốt tạo ra một chiến lược giao dịch lý thuyết và thực tế bằng cách kết hợp nhiều công cụ phân tích kỹ thuật cổ điển. Đặc điểm lớn nhất của chiến lược là khả năng cung cấp các tín hiệu giao dịch đáng tin cậy hơn thông qua phân tích đa chiều trong khi duy trì sự linh hoạt đủ để thích nghi với môi trường thị trường khác nhau. Mặc dù có một số rủi ro vốn có, sự ổn định và độ tin cậy của chiến lược có thể được tăng thêm thông qua các hướng tối ưu hóa được đề xuất. Đối với các nhà giao dịch sẵn sàng đầu tư thời gian vào tối ưu hóa tham số và cải thiện chiến lược, đây là một khuôn khổ cơ bản tuyệt vời.
/*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)