Chiến lược phá vỡ điểm trung tâm

Tác giả:ChaoZhang, Ngày: 2023-09-27 16:35:26
Tags:

Tổng quan

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 logic

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.

Phân tích lợi thế

  • Đơn giản và dễ sử dụng, phù hợp với tất cả các nhà đầu tư

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 độ.

  • Hiệu quả nắm bắt các thay đổi xu hướng và điều chỉnh các vị trí phù hợ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 tham số có thể tùy chỉnh để điều chỉnh tính linh hoạt của chiến lược

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.

  • Dễ dàng kết hợp với các chiến lược khác cho tính linh hoạt

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

Phân tích rủi ro

  • Hiệu ứng chậm phát triển tiềm năng

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.

  • Rủi ro thoát sai

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.

  • Các khoản thu lớn hơn

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ần phải kiểm soát tần suất giao dịch

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.

Hướng dẫn tối ưu hóa

  • Tối ưu hóa điều chỉnh tham số

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.

  • Thêm sức mạnh của đột phá

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

  • Thêm các chỉ số khác như bộ lọc

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ải thiện kích thước vị trí

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.

Kết luận

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)


Thêm nữa