Chiến lược đảo ngược pivot

Tác giả:ChaoZhang, Ngày: 2023-12-18 16:59:59
Tags:

img

Tổng quan

Bài viết này sẽ phân tích chi tiết một chiến lược giao dịch đảo ngược dựa trên các điểm pivot. Chiến lược tính toán mức hỗ trợ và kháng cự tiềm năng trong một khoảng thời gian, và xác định sự đảo ngược xu hướng khi giá phá vỡ các mức pivot này, cho phép giao dịch đảo ngược.

Chiến lược logic

Chiến lược chủ yếu dựa trên hai chỉ số: Pivot High và Pivot Low.pivothigh()pivotlow()Khi tính toán các điểm pivot, các giai đoạn bên trái và bên phải cần phải được đặt; chiến lược này sử dụng 4 giai đoạn bên trái và 2 giai đoạn bên phải.

Khi giá cao nhất của giai đoạn gần đây nhất thấp hơn mức cao nhất của giai đoạn trước, nó báo hiệu một cơ hội đảo ngược. Nếu các vị trí trước đó là ngắn, các vị trí dài nên được xem xét để tận dụng sự đảo ngược. Tương tự, khi giá thấp nhất của giai đoạn gần đây nhất cao hơn mức thấp nhất của giai đoạn trước, các vị trí dài hiện có nên xem xét đảo ngược sang ngắn.

Cụ thể, logic chính là:

  1. Tính toán pivot mức cao / thấp
  2. Xác định những bước đột phá
    1. Long khi giá phá vỡ trên pivot low
    2. Mua ngắn khi giá phá vỡ dưới mức cao trung tâm
  3. Đặt mức dừng lỗ

Phân tích lợi thế

Lợi thế lớn nhất của chiến lược này là xác định các điểm đảo ngược xu hướng tiềm năng, điều này rất quan trọng đối với các nhà giao dịch đảo ngược.

Hơn nữa, chiến lược có các điều kiện cho cả các mục đầu tư dài và ngắn, bao gồm các tình huống thị trường khác nhau để tránh bỏ lỡ cơ hội.

Tóm lại, đây là một chiến lược đảo ngược rất thực tế.

Phân tích rủi ro

Mặc dù nỗ lực giảm các tín hiệu sai, bất kỳ chiến lược dựa trên đột phá nào cũng phải đối mặt với các vấn đề như tín hiệu sớm hoặc chậm. Điều này có thể dẫn đến việc lên kế hoạch tham gia dài nhưng thị trường đã đảo ngược, hoặc lên kế hoạch ngắn nhưng đột nhiên bùng nổ. Sự không thể dự đoán hoàn hảo sự đảo ngược là một hạn chế vốn có của phân tích kỹ thuật.

Ngoài ra, các điểm pivot cũng không thể đảm bảo mức hỗ trợ / kháng cự hoàn hảo. May mắn có thể dẫn đến việc dừng lỗ chỉ trước mức hỗ trợ thực sự. Sự không chắc chắn như vậy xung quanh các vùng chính không thể tránh hoàn toàn.

Cơ hội gia tăng

  1. Tối ưu hóa khoảng thời gian. Các khoảng thời gian bên trái / bên phải hiện tại được đặt ở 4 và 2.

  2. Thêm bộ lọc với các chỉ số khác. Ví dụ, kết hợp với khối lượng để chỉ xem xét các đột phá là hợp lệ khi đi kèm với khối lượng tăng. Điều này giúp tránh các đột phá sai.

  3. Đỗ lỗ động. Hiện tại các điểm dừng được đặt với một bộ đệm tối thiểu một tick trên / dưới mức pivot. Khu vực đệm có thể được điều chỉnh năng động dựa trên biến động thị trường.

  4. Hoạt động chỉ theo hướng xu hướng. Hiện tại các điều kiện dài / ngắn song song. Tối ưu hóa chỉ dài trong xu hướng tăng và ngắn trong xu hướng giảm dựa trên bộ lọc xu hướng.

Kết luận

Tóm lại, đây là một chiến lược đảo ngược đơn giản nhưng thực tế. Xác định các điểm trục trặc trong một khoảng thời gian và theo dõi sự đột phá giá tạo thành ý tưởng cốt lõi để phát hiện sự đảo ngược xu hướng tiềm năng. Các điều kiện dài / ngắn song song tối đa hóa cơ hội trong khi dừng lỗ quản lý rủi ro.

Chiến lược logic là đơn giản và dễ thực hiện. Các thông số cũng trực quan cho người mới bắt đầu. Tăng cường thêm có thể cải thiện hiệu suất cho việc áp dụng.


/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Pivot Reversal Strategy", overlay=true)

leftBars  = input(4)
rightBars = input(2)

// backtesting date range
from_day   = input(defval = 1,    title = "From Day",   minval = 1)
from_month = input(defval = 3,    title = "From Month", minval = 1)
from_year  = input(defval = 2018, title = "From Year",  minval = 1970)

to_day     = input(defval = 1,    title = "To Day",     minval = 1)
to_month   = input(defval = 1,    title = "To Month",   minval = 1)
to_year    = input(defval = 2100, title = "To Year",    minval = 1970)

time_cond = (time > timestamp(from_year, from_month, from_day, 00, 00)) and (time < timestamp(to_year, to_month, to_day, 23, 59))

swh = pivothigh(leftBars, rightBars)
swl = pivotlow(leftBars, rightBars)

swh_cond = not na(swh)

hprice = 0.0
hprice := swh_cond ? swh : hprice[1]

le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])

if (le and time_cond)
    strategy.entry("PivRevLE", strategy.long, comment="PivRevLE", stop=hprice + syminfo.mintick)

swl_cond = not na(swl)

lprice = 0.0
lprice := swl_cond ? swl : lprice[1]


se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])

if (se and time_cond)
    strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick)

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Thêm nữa