
Chiến lược này là một chiến lược theo dõi xu hướng động cơ dựa trên hệ thống hai đường trung bình, kết hợp các tín hiệu chéo giữa đường trung bình nhanh và đường trung bình chậm, đồng thời giới thiệu đường trung bình lọc để tối ưu hóa thời gian vào thị trường, để đạt được hiệu quả giao dịch vững chắc thông qua quản lý tài chính và kiểm soát rủi ro.
Chiến lược sử dụng đường trung bình di chuyển đơn giản (SMA) 11 chu kỳ và 31 chu kỳ làm hệ thống tín hiệu chính, đồng thời sử dụng đường trung bình 5 chu kỳ làm bộ lọc. Hệ thống tạo ra nhiều tín hiệu khi đường nhanh (SMA11) vượt qua đường chậm (SMA31) và giá nằm trên đường trung bình được lọc.
Chiến lược này xây dựng một hệ thống theo dõi xu hướng tương đối ổn định thông qua hệ thống đa đường trung bình. Mặc dù có một số hạn chế vốn có, nhưng bằng cách tối ưu hóa và cải tiến hợp lý, bạn có thể nâng cao hơn nữa sự ổn định và khả năng lợi nhuận của chiến lược.
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('Nifty 30m SMA Crossover Long', overlay=true)
start = timestamp(2020, 1, 1, 0, 0)
end = timestamp(2024, 12, 31, 0, 0)
SlowSma = ta.sma(close, 31)
FastSma = ta.sma(close, 11)
FilterSma = ta.sma(close, 5)
plot(SlowSma, title='Sma 31', color=color.new(color.green, 0))
plot(FastSma, title='Sma 11', color=color.new(color.red, 0))
plot(FilterSma, title='Filter Sma 5', color=color.new(color.black, 0))
// strategy
LongEntry = FastSma > SlowSma and close > FilterSma
LongExit = FastSma < SlowSma
MyQty = 10000000 / close
// // Plot signals to chart
// plotshape(not LongExit and strategy.position_size > 0 and bIndicator, title='Hold', location=location.abovebar, color=color.new(color.blue, 0), style=shape.square, text='Hold', textcolor=color.new(color.blue, 0))
// plotshape(LongExit and bIndicator and strategy.position_size > 0, title='Exit', location=location.belowbar, color=color.new(color.red, 0), style=shape.triangledown, text='Sell', textcolor=color.new(color.red, 0))
// plotshape(LongEntry and strategy.position_size == 0 and bIndicator, '', shape.arrowup, location.abovebar, color.new(color.green, 0), text='Buy', textcolor=color.new(color.green, 0))
// plotshape(not LongEntry and strategy.position_size == 0 and bIndicator, '', shape.circle, location.belowbar, color.new(color.yellow, 0), text='Wait', textcolor=color.new(color.black, 0))
if time >= start and time < end
strategy.entry('Enter Long', strategy.long, qty=1, when=LongEntry)
strategy.close('Enter Long', when=LongExit)