
Chiến lược này được xây dựng bằng cách tính toán đường SMA trung bình trong nhiều khoảng thời gian và lấy giá trị trung bình để xây dựng chỉ số đường trung bình. Khi giá tăng, nó tạo ra tín hiệu mua khi nó phá vỡ đường trung bình và khi giá giảm, nó tạo ra tín hiệu bán khi nó phá vỡ đường trung bình.
Chiến lược này có khả năng làm mịn đường cong hiệu quả, loại bỏ các đột phá giả, thông qua các đường SMA trung bình trong nhiều khoảng thời gian.
Những rủi ro này có thể được giảm bớt bằng cách rút ngắn một phần của chu kỳ trung bình một cách thích hợp, và thêm các chỉ số khác để xác nhận.
Chiến lược này có ý tưởng tổng thể rõ ràng, có thể xác định xu hướng hiệu quả thông qua sự tích hợp trung bình trong nhiều khoảng thời gian, là một chiến lược thực tế ổn định. Nhưng chúng ta cũng cần chú ý đến sự chậm trễ của nó và nguy cơ thông báo sai. Bằng cách thiết lập các tham số tối ưu hóa hơn nữa, thêm các phương tiện như chỉ số xác nhận, chiến lược có thể được cải thiện liên tục, làm cho nó trở thành một công cụ giao dịch định lượng mạnh mẽ.
/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("STRATEGY AVERAGE MULTI_SMA", overlay=true)
sma1 = sma(close,input(title="SMA 1", defval=8))
sma2 = sma(close,input(title="SMA 2", defval=21))
sma3 = sma(close,input(title="SMA 3", defval=50))
sma4 = sma(close,input(title="SMA 4", defval=100))
sma5 = sma(close,input(title="SMA 5", defval=200))
mediaSMA= (sma1+sma2+sma3+sma4+sma5)/5
//color mediaSMA
MediaUP = mediaSMA>mediaSMA[1]
colorUP = (MediaUP ? #3CFF35 : na)
MediaDOWN = mediaSMA<mediaSMA[1]
colorDOWN =(MediaDOWN ? #FF0F03 : na)
colorN =(not MediaUP and not MediaDOWN and mediaSMA==mediaSMA[1] ? white : na )
plot(mediaSMA,title="Avarege MULTI_SMA UP", color=colorUP, style=circles, linewidth=2, transp=0)
plot(mediaSMA,title="Avarege MULTI_SMA DOWN", color=colorDOWN, style=circles, linewidth=2, transp=0)
plot(mediaSMA,title="Avarege MULTI_SMA UP NEUTRAL", color=colorN, style=circles, linewidth=2, transp=0)
//plot(sma1,color=blue,linewidth=1, style=line,transp=0,title="SMA 1")
//plot(sma2,color=yellow,linewidth=1, style=line,transp=0,title="SMA 2")
//plot(sma3,color=green,linewidth=1, style=line,transp=0,title="SMA 3")
//plot(sma4,color=purple,linewidth=1, style=line,transp=0,title="SMA 4")
//plot(sma5,color=red,linewidth=1, style=line,transp=0,title="SMA 5")
// Strategy
//BUY
comprar=close>mediaSMA and mediaSMA>mediaSMA[1]
fechar=close<mediaSMA and mediaSMA<mediaSMA[1]
strategy.entry("BUY",strategy.long,when=comprar)
strategy.entry("SELL",strategy.short, when=fechar)
//SELL
vender=close<mediaSMA and mediaSMA<mediaSMA[1]
fechar2=close>mediaSMA and mediaSMA>mediaSMA[1]
strategy.entry("SELL",strategy.short, when=vender)
strategy.entry("BUY", strategy.long,when=fechar2)