Sự đột phá của giá cao thấp hàng ngày dựa trên các mức Fibonacci

Tác giả:ChaoZhangNgày: 2024-01-17 15:59:17
Tags:

img

Tổng quan

Chiến lược này tính toán giá cao nhất và thấp nhất của mỗi ngày, kết hợp với các mức khôi phục Fibonacci, để tìm cơ hội giao dịch đột phá trong ngày giao dịch hiện tại. Khi giá vượt qua giá cao nhất của ngày, hãy thực hiện chiến lược tăng giá; khi giá vượt qua giá thấp nhất của ngày, hãy thực hiện chiến lược giảm giá.

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

Logic cốt lõi của chiến lược này là như sau:

  1. Ghi lại giá cao nhất trong ngày Giá cao nhất và giá thấp nhất trong ngày Giá thấp nhất trong ngày tại thị trường mở mỗi ngày.

  2. Tính toán hai mức khôi phục Fibonacci là 0,236 và 0,786:

    fib236High = dayLow + 0.236 * (dayHigh - dayLow)
    fib786High = dayLow + 0.786 * (dayHigh - dayLow)

  3. Nếu giá đóng cửa vượt qua ngày cao lên, một tín hiệu mua được tạo ra; nếu giá đóng cửa vượt qua ngày thấp xuống, một tín hiệu bán được tạo ra.

  4. Lấy các chiến lược tăng hoặc giảm tương ứng theo tín hiệu mua và bán.

Chiến lược này kết hợp một cách khéo léo giá cao nhất, giá thấp nhất và mức Fibonacci để tìm cơ hội giao dịch khi đột phá xảy ra trong ngày.

Phân tích lợi thế

Những lợi thế chính của chiến lược này là:

  1. Tần suất giao dịch trong ngày cao để nắm bắt sự đột phá giá trong các phiên giao dịch giữa trưa.

  2. Với một số chỉ số kỹ thuật hỗ trợ của Fibonacci, nó không chỉ đơn giản là theo đuổi mức cao mới hoặc mức thấp mới.

  3. Sử dụng giá cao nhất và thấp nhất làm mức tham chiếu có một số sức mạnh hỗ trợ.

  4. Logic giao dịch đơn giản và rõ ràng, dễ hiểu và thực hiện, phù hợp với giao dịch định lượng.

  5. Hiển thị giá cao nhất, giá thấp nhất và mức Fibonacci có thể cấu hình cho phân tích trực quan.

Phân tích rủi ro

Ngoài ra còn có một số rủi ro cho chiến lược này:

  1. Các giao dịch nội ngày thường xuyên có thể làm tăng chi phí giao dịch và rủi ro trượt.

  2. Những bước đột phá trong ngày có thể là những bước đột phá sai, với nguy cơ nhận được các tín hiệu tăng hoặc giảm sai.

  3. Không có logic dừng lỗ, với nguy cơ mở rộng tổn thất.

  4. Nó hoàn toàn dựa trên kỹ thuật mà không kết hợp phân tích cơ bản.

Các biện pháp đối phó:

  1. Điều chỉnh kích thước vị trí phù hợp để giảm tác động chi phí.

  2. Kết hợp nhiều chỉ số kỹ thuật hơn để lọc ra các tín hiệu đột phá sai.

  3. Tăng các chiến lược dừng lỗ di chuyển để kiểm soát lỗ đơn.

  4. Kết hợp phân tích dữ liệu cơ bản để tránh tác động của sự đảo ngược thị trường.

Hướng tối ưu hóa

Các hướng tối ưu hóa chính cho chiến lược này:

  1. Tăng sự kết hợp của nhiều chỉ số kỹ thuật để cải thiện độ tin cậy tín hiệu.

  2. Thêm các chiến lược dừng lỗ tự động để kiểm soát lỗ.

  3. Tối ưu hóa các thông số chiến lược mua và bán, điều chỉnh quản lý vị trí.

  4. Dựa trên các yếu tố tần số cao, kết hợp biến động, tỷ lệ âm lượng và các tín hiệu lọc khác.

  5. Sử dụng các phương pháp học máy để tìm kết hợp tham số tốt hơn.

  6. Thiết lập một cơ chế thoát động, thay vì một giao dịch đơn giản của giá cao nhất hoặc thấp nhất.

Tóm lại

Chiến lược Fibonacci này tương đối đơn giản, lợi nhuận bằng cách nắm bắt những bước đột phá ngắn hạn của mức giá. Có nhiều cơ hội để tối ưu hóa chiến lược trong các lĩnh vực như tối ưu hóa chỉ số, quản lý dừng lỗ, điều chỉnh tham số để làm cho nó trở thành một chiến lược trong ngày tần suất cao có lợi nhuận ổn định.


/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Day High/Low Fibonacci Levels Strategy", shorttitle="DHL Fibonacci", overlay=true)

// Calculate the day's high and low
var float dayHigh = na
var float dayLow = na
if change(time("D"))
    dayHigh := high
    dayLow := low

// Define input for plotting lines
showLines = input(true, title="Show Day High/Low Lines")
showFibLevels = input(true, title="Show Fibonacci Levels")

// Plot the day's high and low as lines
plot(showLines ? dayHigh : na, color=color.green, style=plot.style_line, linewidth=1, title="Day High")
plot(showLines ? dayLow : na, color=color.red, style=plot.style_line, linewidth=1, title="Day Low")

// Calculate buy and sell conditions
buyCondition = crossover(close, dayHigh)
sellCondition = crossunder(close, dayLow)

// Plot buy and sell signals
plotshape(buyCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(sellCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")

// Calculate Fibonacci levels for the day's high and low
fib236High = dayLow + (0.236 * (dayHigh - dayLow))
fib786High = dayLow + (0.786 * (dayHigh - dayLow))

// Plot Fibonacci levels
plot(showFibLevels ? fib236High : na, color=color.blue, style=plot.style_line, linewidth=1, title="Fib 0.236 Day High")
plot(showFibLevels ? fib786High : na, color=color.purple, style=plot.style_line, linewidth=1, title="Fib 0.786 Day High")

// Strategy
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=sellCondition)


Thêm nữa