Chiến lược giao dịch thuật toán đơn giản Pivot Reversal

Tác giả:ChaoZhang, Ngày: 2024-01-17 15:37:33
Tags:

img

Tổng quan

Chiến lược này thực hiện giao dịch đảo ngược dựa trên sự phá vỡ điểm pivot. Nó tính toán mức cao và mức thấp pivot trong một khoảng thời gian cụ thể để xác định mức pivot. Nó đi ngắn khi giá vượt qua mức cao pivot và đi dài khi giá vượt qua mức thấp pivot. Đây là một chiến lược đảo ngược trung bình ngắn hạn điển hình.

Chiến lược logic

Logic cốt lõi của chiến lược này là tính toán các điểm cao và thấp của pivot.

Pivot High = Tổng số cao nhất trong các thanh N1 trước đó / N1

Pivot Low = Tổng số thấp nhất trong các thanh N2 trước đó / N2

N1 và N2 là các tham số xác định số thanh được sử dụng để tính điểm pivot.

Sau khi có được các mức cao / thấp, các quy tắc giao dịch là:

  1. Mất giá khi giá vượt quá mức cao trung tâm
  2. Long khi giá phá vỡ dưới pivot low
  3. Thiết lập stop loss sau khi nhập

Vì vậy, nó thực hiện một chiến lược đảo ngược ngắn hạn dựa trên điểm pivot breakouts.

Phân tích lợi thế

Những lợi thế của chiến lược đơn giản này là:

  1. Logic đơn giản, dễ hiểu và thực hiện
  2. Thích hợp cho giao dịch ngắn hạn tần số cao
  3. Khám phá sự đảo ngược sau khi phá vỡ pivot
  4. Tối ưu hóa thông qua điều chỉnh tham số

Phân tích rủi ro

Có một số rủi ro:

  1. Rủi ro đảo ngược thất bại - Sự đảo ngược sau khi phá vỡ pivot có thể thất bại và xu hướng tiếp tục
  2. Rủi ro dừng lỗ - Rủi ro dừng lỗ đã được đặt trước có thể bị tấn công dẫn đến tổn thất lớn
  3. Rủi ro tham số - Các tham số không phù hợp ảnh hưởng lớn đến kết quả

Những rủi ro này có thể được quản lý bằng cách điều chỉnh tham số, áp dụng các quy tắc thoát, v.v.

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

Có rất nhiều chỗ để tối ưu hóa:

  1. Kết hợp với các chỉ số kỹ thuật khác để cải thiện thời gian nhập cảnh
  2. Thêm các quy tắc thoát như dừng lỗ, lấy lợi nhuận, vv
  3. Điều chỉnh động các thông số để cải thiện khả năng thích nghi
  4. Tối ưu hóa tham số để tìm kết hợp tham số tốt nhất

Tóm lại

Tóm lại, đây là một chiến lược đảo ngược pivot ngắn hạn rất đơn giản. Ưu điểm của nó là sự đơn giản và khả năng nắm bắt đảo ngược. Nhưng có một số rủi ro cần phải được giải quyết thông qua tối ưu hóa. Nhìn chung, đây là một chiến lược thực hành tốt cho người mới bắt đầu và xây dựng nền tảng cho các chiến lược tiên tiến.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Pivot Reversal Strategy - FIGS & DATES 2.0", overlay=true, pyramiding=0, initial_capital=10000, currency="USD", default_qty_type=strategy.percent_of_equity, default_qty_value=100.0, commission_value=0.075)

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

// backtesting date range
from_day = input(defval=1, title="From Day", minval=1, maxval=31)
from_month = input(defval=1, title="From Month", minval=1, maxval=12)
from_year = input(defval=2018, title="From Year", minval=1900)

to_day = input(defval=1, title="To Day", minval=1, maxval=31)
to_month = input(defval=1, title="To Month", minval=1, maxval=12)
to_year = input(defval=9999, title="To Year", minval=1900)

time_cond = true

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

middle = (swh+swl)/2

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("LONG", strategy.long, comment="LONG", 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("SHORT", strategy.short, comment="SHORT", stop=lprice - syminfo.mintick)

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


Thêm nữa