Chiến lược giao dịch SMA-3 là một phương pháp phân tích kỹ thuật sử dụng 3 đường trung bình động đơn giản để xác định cơ hội giao dịch.
Làm thế nào nó hoạt động
Chiến lược này sử dụng 3 đường SMA - một đường giữa, một đường trên và một đường dưới. Đường SMA giữa theo dõi giá đóng cửa. Đường SMA trên và dưới được bù đắp bằng một tỷ lệ phần trăm cố định trên và dưới đường SMA giữa.
Khi giá vượt qua đường SMA trên, một vị trí dài được nhập. Khi giá giảm xuống dưới đường SMA dưới, một vị trí ngắn được đưa ra. Mục tiêu lợi nhuận được đặt ở đường SMA đối diện.
Các thông số SMA, phân bổ vốn, bộ lọc ngày và các cài đặt khác có thể tùy chỉnh.
Lợi ích và rủi ro
Một lợi thế chính của SMA-3 là tính đơn giản của nó. Nó nhằm mục đích tận dụng các breakout có xác suất cao được xác nhận bởi các crossover trung bình động. Các điểm dừng tỷ lệ phần trăm cố định giúp khóa lợi nhuận nếu xu hướng tiếp tục.
Tuy nhiên, giống như tất cả các chiến lược kỹ thuật, nó có xu hướng bị thổi phồng và phá vỡ sai.
Chiến lược có thể hoạt động kém hơn trong các thị trường bên cạnh hoặc biến động. Quản lý rủi ro nghiêm ngặt được khuyến cáo khi định kích thước vị trí. Ứng dụng quản lý tiền thận trọng là chìa khóa.
Nhìn chung, SMA-3 cung cấp một cách tiếp cận đơn giản để giao dịch biến động giá ngắn hạn. Nó có thể mạnh mẽ nếu được thực hiện đúng cách, nhưng đòi hỏi sự điều chỉnh và kỷ luật.
/*backtest start: 2022-09-04 00:00:00 end: 2023-09-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's SMA-3 Strategy v1.0", shorttitle = "SMA-3 str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 5) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(false, defval = false, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %") p = input(20, "bars") d = input(15, "percent") showlines = input(true, defval = true, title = "Show Lines?") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //SMAs sma = sma(close, p) upex = sma * ((100 + d) / 100) dnex = sma * ((100 - d) / 100) exit = high > sma and low < sma //Lines col = showlines ? blue : na plot(upex, linewidth = 3, color = col, transp = 0) plot(sma, linewidth = 3, color = col, transp = 0) plot(dnex, linewidth = 3, color = col, transp = 0) //Trading lot = strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1] if true strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, limit = dnex, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, limit = upex, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) or exit strategy.close_all()