
Chiến lược này là chiến lược giao dịch dựa trên chỉ số SAR thực hiện các hoạt động luân phiên trong các chu kỳ thời gian khác nhau. Chiến lược sẽ tính toán chỉ số SAR theo khung thời gian 15 phút, mặt trời, mặt trăng và mặt trăng và thực hiện các hoạt động giao dịch theo khung thời gian mặt trăng.
Chỉ số SAR đại diện cho chỉ số chuyển hướng đường parabôlic (Parabolic SAR), nó đánh giá xu hướng của thị trường bằng cách tính toán mối quan hệ giữa giá hiện tại và giá lịch sử, khi giá vượt qua điểm SAR, nó cho thấy xu hướng bị đảo ngược.
Chiến lược này tính SAR theo khung thời gian 15 phút, mặt trời, đường tròn và mặt trăng. Công thức tính là:
SAR = SAR前值 + 加速因子(最高价 - SAR前值) # 多头趋势
SAR = SAR前值 + 加速因子(最低价 - SAR前值) # 空头趋势
Trong đó, giá trị ban đầu của hệ số gia tốc được thiết lập là 0.02 và sẽ tăng dần lên tối đa là 0.2 khi xu hướng tiếp tục.
Chiến lược phát ra tín hiệu giao dịch trong khung thời gian đường tròn. Khi đường tròn SAR vượt qua giá cao nhất, thiết lập dừng lỗ là SAR. Khi SAR vượt qua giá thấp nhất, thiết lập dừng lỗ là SAR.
Chiến lược này có hiệu quả hơn trong việc tạo ra lợi nhuận bằng cách đánh giá xu hướng và thiết lập vị trí dừng lỗ chính xác hơn trong khung thời gian cấp cao hơn.
Chiến lược này có ý tưởng tổng thể rõ ràng, có thể hoạt động theo hướng lớn bằng cách đánh giá xu hướng trong khung thời gian cao. Đồng thời, chỉ số SAR định vị chính xác hơn điểm chuyển hướng xu hướng, cũng làm cho rủi ro dừng lỗ được kiểm soát ở mức thấp hơn.
/*backtest
start: 2023-01-09 00:00:00
end: 2024-01-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy ("SAR alternating timeframe", overlay=true)
//resolution
res1=input("15", title="Resolution")
res2=input("D", title="Resolution")
res3=input("W", title="Resolution")
res4=input("M", title="Resolution")
//output functions
out = sar(0.02,0.02,0.2)
// request.security
SAR1 = request.security(syminfo.tickerid, res1, out)
SAR2 = request.security(syminfo.tickerid, res2, out)
SAR3 = request.security(syminfo.tickerid, res3, out)
SAR4 = request.security(syminfo.tickerid, res4, out)
//Plots
//plot(SAR1 , title="SAR 15", color = red, linewidth = 2)
//plot(SAR2 , title="SAR D", color = green, linewidth = 3)
plot(SAR3 , title="SAR W", color =blue, linewidth = 4)
//plot(SAR4 , title="SAR W", color =purple, linewidth = 5))
/////////////////////////////////////////////////////////////////////
//trade
if (SAR3 >= high)
strategy.entry("ParLE", strategy.long, stop=SAR3, comment="ParLE")
else
strategy.cancel("ParLE")
if (SAR3 <= low)
strategy.entry("ParSE", strategy.short, stop=SAR3, comment="ParSE")
else
strategy.cancel("ParSE")