
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.
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:
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.
/*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)