Chiến lược phá vỡ điểm pivot là một chiến lược theo xu hướng mua cổ phiếu khi giá vượt qua ngưỡng kháng cự gần đây và bán khi giá vượt qua ngưỡng hỗ trợ gần đây để nắm bắt những thay đổi xu hướng.
Chiến lược tính toán các điểm giữa giá cao nhất và giá thấp nhất trong một khoảng thời gian như các đường kháng cự và hỗ trợ gần đây. Khi giá vượt qua các điểm trục này, nó báo hiệu sự thay đổi xu hướng có thể được giao dịch.
Cụ thể, nó tính toán điểm giữa của giá cao nhất trong N1 ngày qua như đường kháng cự, và điểm giữa của giá thấp nhất trong N2 ngày như đường hỗ trợ. Về phía dài, nếu giá cao nhất ngày hôm nay vượt qua đường kháng cự gần đây, một tín hiệu mua sẽ được kích hoạt. Về phía ngắn, nếu giá thấp nhất ngày hôm nay vượt qua đường hỗ trợ gần đây, một tín hiệu bán sẽ được kích hoạt. Các nhà đầu tư có thể tùy chỉnh N1 và N2 để điều chỉnh độ nhạy của chiến lược.
Chiến lược đơn giản và thẳng thắn, không yêu cầu dự đoán thị trường, chỉ theo dõi điểm đột phá để nắm bắt xu hướng. Nó mua khi xu hướng tăng phá vỡ ngưỡng kháng cự và bán khi xu hướng giảm phá vỡ hỗ trợ để theo xu hướng.
Chiến lược rất đơn giản và trực quan, không yêu cầu kỹ năng dự báo, chỉ theo dõi các điểm đột phá. Điều này làm giảm khó khăn trong hoạt động, làm cho nó phù hợp với các nhà đầu tư ở mọi cấp độ.
Phá vỡ điểm trục là một tín hiệu được công nhận cho sự thay đổi xu hướng. Chiến lược có thể phản ứng kịp thời khi xu hướng thay đổi, điều chỉnh vị trí để tránh bị mắc kẹt.
Các nhà đầu tư có thể tùy chỉnh số ngày để nhìn sang trái và phải, điều này điều chỉnh độ nhạy của chiến lược.
Chiến lược chủ yếu cung cấp theo xu hướng. Nó có thể dễ dàng kết hợp với các chiến lược thời gian khác để cải thiện lợi nhuận tổng thể.
Chiến lược cần tích lũy một số dữ liệu để xác định sự thay đổi xu hướng, có thể gây ra sự chậm trễ nhất định trong tín hiệu.
Các thị trường có thể có những đợt phá vỡ sai ngắn hạn của các điểm pivot. Các nhà đầu tư cần một số kỹ năng để xử lý những đòn giày và tránh bị mắc kẹt.
Chiến lược này hoàn toàn theo xu hướng, do đó có rủi ro rút vốn tương đối lớn. Các nhà đầu tư cần xem xét khả năng chấp nhận rủi ro của riêng họ.
Các thông số quá nhạy cảm có thể dẫn đến tần suất giao dịch quá mức. Cần điều chỉnh các thông số đúng cách để kiểm soát số lượng giao dịch. Thời gian giữ tối thiểu cũng có thể giúp giảm tần suất.
Có thể kiểm tra lại và tối ưu hóa N ngày cho mức cao nhất và thấp nhất để tìm ra sự pha trộn thông số tốt nhất trong dài hạn.
Có thể thiết lập yêu cầu kích thước tối thiểu cho breakout để tránh những sự phá vỡ sai nhỏ.
Có thể thêm các chỉ số kỹ thuật khác như RSI, KD v.v. Nếu đột phá phù hợp với sự khác biệt của chỉ số, các tín hiệu sẽ hiệu quả hơn.
Có thể kích thước các vị trí năng động dựa trên điều kiện thị trường để kiểm soát rủi ro. Có thể ngăn chặn để tránh tổn thất lớn. Cũng có thể điều chỉnh kích thước dựa trên sức mạnh của xu hướng đang diễn ra.
Phương pháp phá vỡ điểm pivot nắm bắt xu hướng một cách đơn giản thông qua các điểm phá vỡ trọng tâm, phù hợp với một loạt các nhà đầu tư. Ưu điểm của nó là sự đơn giản và nắm bắt hiệu quả các thay đổi xu hướng, nhưng nó cũng có một số vấn đề chậm trễ, rủi ro đứt mẻ và giảm lớn. Điều chỉnh tham số, thêm bộ lọc và cải thiện kích thước vị trí có thể tăng cường tính ổn định của chiến lược.
/*backtest start: 2023-08-27 00:00:00 end: 2023-09-26 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © EduardoMattje //@version=5 strategy("Pivot Point Breakout", "PPB", true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, process_orders_on_close=true) // Constants var L_PIVOT_HIGH = "Pivot high" var L_PIVOT_LOW = "Pivot low" var LEFT = "Left" var RIGHT = "Right" var BOTH = "Both" var LONG = "Long" var SHORT = "Short" var DATES = "Date selection" var DATES_TOOLTIP = "Change it to limit the trades for the given time interval.\n\nLeave it to disable this behaviour." // Inputs var orderDirection = input.string(LONG, "Order direction", options=[BOTH, LONG, SHORT]) var leftHigh = input.int(3, LEFT, minval=0, inline=L_PIVOT_HIGH, group=L_PIVOT_HIGH) var rightHigh = input.int(3, RIGHT, minval=0, inline=L_PIVOT_HIGH, group=L_PIVOT_HIGH) var leftLow = input.int(3, LEFT, minval=0, inline=L_PIVOT_LOW, group=L_PIVOT_LOW) var rightLow = input.int(3, RIGHT, minval=0, inline=L_PIVOT_LOW, group=L_PIVOT_LOW) var startDate = input(0, "Starting date", group=DATES) var endDate = input(0, "Final date", group=DATES) // var float lastHigh = na var float lastLow = na lowPivot = ta.pivotlow(leftLow, rightLow) highPivot = ta.pivothigh(leftHigh, rightHigh) f_updateLevels(pivot_) => var float pastLevel = na if not na(pivot_) pastLevel := pivot_ pastLevel lastLow := f_updateLevels(lowPivot) lastHigh := f_updateLevels(highPivot) // Validates the time interval validTrade = true // Orders if high > lastHigh strategy.entry("Long", strategy.long, when=orderDirection != SHORT and validTrade) strategy.close("Short", when=orderDirection == SHORT) if low < lastLow strategy.entry("Short", strategy.short, when=orderDirection != LONG and validTrade) strategy.close("Long", when=orderDirection == LONG) // Plots plot(lastLow, "Last pivot low", color.red, offset=1) plot(lastHigh, "Last pivot high", color.teal, offset=1) plotshape(lowPivot, "Pivot low", location=location.belowbar, color=color.red, offset=-rightLow) plotshape(highPivot, "Pivot high", color=color.teal, offset=-rightHigh)