Chiến lược theo dõi đảo ngược cực đoan

Tác giả:ChaoZhang, Ngày: 2024-02-20 15:17:41
Tags:

img

Tổng quan

Chiến lược theo dõi đảo ngược cực đoan theo dõi các điểm cực đoan của phạm vi biến động giá và làm cho các vị trí dài / ngắn đảo ngược ở các điểm cực đoan để theo dõi xu hướng.

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

Chiến lược này chủ yếu dựa trên các nguyên tắc sau:

  1. Sử dụng chức năng bảo mật để có được giá cao và thấp của các đường K chu kỳ khác nhau để phát hiện xem chúng có bằng với các đường trước không, để đánh giá liệu các điểm cực mới có đạt được hay không.

  2. Khi các điểm cực mới được phát hiện, thực hiện vị trí ngắn nếu hiện tại là thị trường tăng, và thực hiện vị trí dài nếu hiện tại là thị trường giảm.

  3. Đặt điểm dừng lỗ là điểm cực mới được hình thành sau khi vị trí dài / ngắn được thực hiện để theo dõi xu hướng với dừng lỗ.

  4. Đặt phạm vi thời gian hiệu quả của chiến lược bằng cách cấu hình năm bắt đầu, tháng và ngày để điều chỉnh cho các khoảng thời gian khác nhau.

Ưu điểm

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

  1. Hiệu quả nắm bắt các điểm cực của sự thay đổi giá và thực hiện các vị trí đảo ngược để theo dõi xu hướng.

  2. Thiết lập quản lý thời gian và rủi ro để kiểm soát thời gian sử dụng và vốn của chiến lược để giảm rủi ro.

  3. Sử dụng các điểm cực mới làm điểm dừng lỗ để điều chỉnh động các vị trí dừng lỗ dựa trên phạm vi biến động giá mới.

  4. Logic chiến lược đơn giản và rõ ràng để dễ hiểu, gỡ lỗi và tối ưu hóa.

Rủi ro

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

  1. Có thể có sự đánh giá sai trong việc xác định các điểm cực, gây ra lỗi trong các vị trí dài / ngắn.

  2. Vị trí dừng lỗ gần điểm nhập cảnh, làm tăng xác suất dừng lỗ được kích hoạt.

  3. Không xem xét các vị trí kim tự tháp dọc theo xu hướng và các vị trí đảo ngược, ít có lợi trong thị trường xu hướng.

  4. Tiền tệ và thời gian phạm vi cấu hình là khá cứng nhắc, không thể thực hiện điều chỉnh năng động.

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

Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:

  1. Tối ưu hóa logic điểm cực với nhiều bộ lọc hơn để tránh đánh giá sai.

  2. Thêm cơ chế dừng lỗ nổi dựa trên thay đổi giá và biến động để điều chỉnh khoảng cách dừng lỗ.

  3. Đưa ra các mô-đun định vị kim tự tháp và đảo ngược dựa trên xu hướng và biến động để cải thiện lợi nhuận.

  4. Thiết lập cơ chế tối ưu hóa tham số để kiểm tra tự động và điều chỉnh tham số.

  5. Kết hợp các mô hình học máy để hỗ trợ việc ra quyết định chiến lược.

Tóm lại

Chiến lược theo dõi đảo ngược cực đoan hoạt động bằng cách nắm bắt các cực đoan giá và theo dõi xu hướng, thích nghi và có lợi nhuận.


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

//Noro
//2018

//@version=2
strategy(title = "Noro's Extremum Strategy v1.0", shorttitle = "Extremum str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
tf = input('W', title = 'Timeframe for extremums')
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Levels
highm = request.security(syminfo.tickerid, tf, high[1])
lowm = request.security(syminfo.tickerid, tf, low[1])
upcolorm = highm == highm[1] ? lime : na
dncolorm = lowm == lowm[1] ? red : na
plot(highm, color = upcolorm, linewidth = 3)
plot(lowm, color = dncolorm, linewidth = 3)

//Signals
size = strategy.position_size
up = size > 0 ? highm * 1000000 : highm != highm[1] ? highm : up[1]
dn = size < 0 ? 0 : lowm != lowm[1] ? lowm : dn[1]
exit = true

//Trading
lot = strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]

if highm > 0 and high[1] < highm and highm == highm[1]
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = up)
    
if lowm > 0 and low[1] > lowm and lowm == lowm[1]
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dn)

if exit
    strategy.close_all()

Thêm nữa