Chiến lược này tính toán đường trung bình di chuyển SMA của nhiều khung thời gian và lấy giá trị trung bình để xây dựng chỉ số đường trung bình di chuyển. Nó tạo ra tín hiệu mua khi giá tăng trên đường trung bình di chuyển và tín hiệu bán khi giá giảm dưới đường trung bình di chuyển. Đây là một chiến lược chéo trung bình di chuyển điển hình.
Bằng cách tính trung bình SMA của nhiều khung thời gian, chiến lược này có thể làm mịn đường cong và lọc ra các đột phá sai.
Những rủi ro này có thể được giảm bằng cách rút ngắn một số khoảng thời gian trung bình động một cách thích hợp và thêm các chỉ số khác để xác nhận.
Ý tưởng tổng thể của chiến lược này là rõ ràng. Bằng cách tích hợp các đường trung bình động của nhiều khung thời gian, nó có thể xác định hiệu quả xu hướng và là một chiến lược ổn định và thực tế. Tuy nhiên, chúng ta cũng cần chú ý đến sự chậm trễ và rủi ro tín hiệu sai. Thông qua việc tối ưu hóa thêm các thiết lập tham số, thêm các chỉ số xác nhận, v.v., chúng ta có thể liên tục cải thiện chiến lược này để biến nó 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)