Chiến lược siêu xu hướng Sunshine


Ngày tạo: 2023-12-13 14:40:24 sửa đổi lần cuối: 2023-12-13 14:40:24
sao chép: 3 Số nhấp chuột: 624
1
tập trung vào
1621
Người theo dõi

Chiến lược siêu xu hướng Sunshine

Tổng quan

Chiến lược siêu xu hướng mặt trời là một chiến lược theo dõi xu hướng dựa trên các chỉ số ATR và SuperTrend. Nó có thể dự đoán chính xác xu hướng đảo ngược, rất phù hợp để sử dụng như một chỉ số theo thời gian. Chiến lược này có thể tăng cường sự kiên nhẫn và quyết tâm của nhà đầu tư, giúp họ vào và ra khỏi thị trường vào thời điểm thích hợp.

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

Chiến lược này sử dụng chỉ số SuperTrend để xác định hướng của xu hướng hiện tại. Khi chỉ số SuperTrend thay đổi hướng, chúng tôi cho rằng có thể có sự đảo ngược xu hướng. Ngoài ra, chiến lược cũng sử dụng hướng của thực thể đường K để đưa ra phán đoán phụ.

Cụ thể, chiến lược này tạo ra tín hiệu giao dịch theo logic sau:

  1. Sử dụng chỉ số SuperTrend để xác định xu hướng chính
  2. Khi chỉ số SuperTrend thay đổi hướng, nó tạo ra một tín hiệu đảo ngược tiềm năng
  3. Nếu hướng của thực thể K-line lúc này phù hợp với trước đó, hãy lọc tín hiệu đảo ngược
  4. Nếu thay đổi hướng của thực thể K, xác nhận tín hiệu đảo ngược, tạo tín hiệu giao dịch

Phân tích lợi thế

  1. Dựa trên chỉ số SuperTrend, có thể xác định chính xác điểm đảo ngược xu hướng
  2. Kết hợp với K-line thực thể hướng lọc vô hiệu tín hiệu, cải thiện chất lượng tín hiệu
  3. Thích hợp như một chỉ số thời gian, hướng dẫn các nhà đầu tư lựa chọn thời gian nhập cảnh và rút ra hợp lý
  4. Có thể được sử dụng rộng rãi trong bất kỳ chu kỳ thời gian và các giống khác nhau, thích ứng mạnh

Rủi ro và giải pháp

  1. Các chỉ số SuperTrend dễ tạo ra các tín hiệu dư thừa, cần thêm bộ lọc
    Giải pháp: Chiến lược này sử dụng hướng thực thể K-line để đưa ra phán đoán hỗ trợ, lọc hiệu quả các tín hiệu không hiệu quả
  2. Cài đặt tham số SuperTrend dễ bị tối ưu hóa hoặc tối ưu hóa quá mức
    Giải pháp: Sử dụng các tham số mặc định để tránh tối ưu hóa quá mức
  3. Không thể đối phó với sự thay đổi quá nhanh chóng
    Giải pháp: Điều chỉnh đúng các tham số chu kỳ ATR để đáp ứng nhanh hơn

Hướng tối ưu hóa

  1. Thử các tổ hợp tham số ATR khác nhau
  2. Tăng chỉ số âm lượng hoặc dao động để trợ lọc tín hiệu
  3. Kết hợp với các hệ thống chỉ số khác để cải thiện hiệu suất chiến lược
  4. Phát triển các cơ chế ngăn chặn, kiểm soát tổn thất đơn lẻ

Tóm tắt

Chiến lược siêu xu hướng ánh nắng mặt trời là một chiến lược hiệu quả để đánh giá xu hướng đảo ngược dựa trên chỉ số SuperTrend. Nó kết hợp với hướng thực thể K-line để đưa ra phán đoán hỗ trợ, có thể lọc hiệu quả các tín hiệu không hiệu quả, cải thiện chất lượng tín hiệu. Chiến lược này hoạt động đơn giản, thích ứng mạnh mẽ, có thể được áp dụng rộng rãi cho nhiều giống và thời gian.

Mã nguồn chiến lược
/*backtest
start: 2023-11-12 00:00:00
end: 2023-12-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Sunny Supertrend Strategy", overlay=true, default_qty_type=strategy.percent_of_equity)

atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)

[_, direction] = ta.supertrend(factor, atrPeriod)

shor= close > open and close[1] > open[1] and close[2] > open[2] 
lon = open > close and open[1] > close[1] and  open[2] > close[2]
tt= ta.change(direction) < 0
ss= ta.change(direction) > 0
long= tt
longexit = lon or ss
short= ss
shortexit = shor or tt

longPosMem = false
longexitPosMem = false
shortPosMem = false
shortexitPosMem = false

longPosMem := long ? true : short ? false : longPosMem[1]
longexitPosMem := longexit ? true : shortexit ? false : longexitPosMem[1]
shortPosMem := short ? true : long ? false : shortPosMem[1]
shortexitPosMem := shortexit ? true : longexit ? false : shortexitPosMem[1]

longy = long and not(longPosMem[1])
longexity = longexit and not(longexitPosMem[1])
shorty = short and not(shortPosMem[1])
shortexity = shortexit and not(shortexitPosMem[1])

//Use this to customize the look of the arrows to suit your needs.
plotshape(longy, location=location.abovebar, color=color.green, style=shape.arrowup, text="Buy")
plotshape(longexity, location=location.top, color=color.green, style=shape.xcross, text="Buy exit")
plotshape(shorty, location=location.belowbar, color=color.red, style=shape.arrowdown, text="Sell")
plotshape(shortexity, location=location.bottom, color=color.red, style=shape.xcross, text="Sell exit")


//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
// STEP 1:
// Make input options that configure backtest date range
startDate = input.int(title="Start Date", defval=1, minval=1, maxval=31)
startMonth = input.int(title="Start Month", 
     defval=1, minval=1, maxval=12)
startYear = input.int(title="Start Year",
     defval=2021, minval=1800, maxval=2100)

endDate = input.int(title="End Date",
     defval=1, minval=1, maxval=31)
endMonth = input.int(title="End Month",
     defval=2, minval=1, maxval=12)
endYear = input.int(title="End Year",
     defval=2021, minval=1800, maxval=2100)

// STEP 2:
// Look if the close time of the current bar
// falls inside the date range
inDateRange =  true



// STEP 3:
// Submit entry orders, but only when bar is inside date range
if (inDateRange and longy)
    strategy.entry("enter long",strategy.long,when= longy)
    strategy.close("long",when=longexity)


if (inDateRange and shorty)
    strategy.entry("enter short",strategy.short,when = shorty)
    strategy.close("short", when=shortexity)