Tài nguyên đang được tải lên... tải...

Fibonacci Retracement khung thời gian nâng cao với hệ thống giao dịch đột phá cao thấp

Tác giả:ChaoZhang, Ngày: 2024-11-28 15:01:25
Tags:HTFFIBOHLMABBRSI

img

Tổng quan

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.

Nguyên tắc chiến lược

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%.

Ưu điểm chiến lược

  1. Phân tích đa chiều: Kết hợp các yếu tố được tôn trọng nhất trong phân tích kỹ thuật, bao gồm hành động giá, theo xu hướng và hỗ trợ / kháng cự.
  2. Khả năng thích nghi cao: Các thông số có thể được điều chỉnh theo các điều kiện thị trường khác nhau, bao gồm các khoảng thời gian, thời gian xem lại và mức Fibonacci.
  3. Quản lý rủi ro toàn diện: Giảm rủi ro thoát sai thông qua nhiều cơ chế xác nhận.
  4. Hiển thị cao: Tất cả các mức giá chính đều có thể nhìn thấy rõ trên biểu đồ, tạo điều kiện cho các quyết định giao dịch.
  5. Độ linh hoạt cao: Áp dụng cho các công cụ giao dịch và khoảng thời gian khác nhau.

Rủi ro chiến lược

  1. Độ nhạy của tham số: Các thiết lập khoảng thời gian xem lại khác nhau có thể dẫn đến sự khác biệt đáng kể về chất lượng tín hiệu.
  2. Tùy thuộc vào điều kiện thị trường: Có thể tạo ra các tín hiệu sai quá mức trong các thị trường khác nhau.
  3. Rủi ro chậm trễ: Do sử dụng dữ liệu về thời gian nhìn lại, có thể bỏ lỡ các điểm nhập khẩu tối ưu trong các thị trường chuyển động nhanh.
  4. Nguy cơ tối ưu hóa quá mức: Tối ưu hóa tham số quá mức có thể dẫn đến hiệu suất kém trong tương lai.

Hướng dẫn tối ưu hóa chiến lược

  1. Thêm lọc biến động: Khuyến nghị thêm các chỉ số như ATR hoặc Bollinger Bandwidth để lọc các giai đoạn biến động thấp.
  2. Tích hợp lọc xu hướng: Có thể thêm các hệ thống trung bình động để xác nhận hướng xu hướng tổng thể.
  3. Tối ưu hóa thời gian nhập cảnh: Có thể cải thiện thời gian nhập cảnh bằng cách kết hợp các chỉ số động lực như RSI.
  4. Điều chỉnh tham số động: giới thiệu các cơ chế thích nghi để tự động điều chỉnh các tham số dựa trên điều kiện thị trường.
  5. Kiểm soát rủi ro nâng cao: Thêm các thiết lập mục tiêu dừng lỗ và lợi nhuận năng động.

Tóm lại

Đâ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)


Có liên quan

Thêm nữa