Chiến lược giao dịch SMA-3

Tác giả:ChaoZhang, Ngày: 2023-09-11 08:33:43
Tags:giao dịchphân tích kỹ thuậttrung bình độngSMAxu hướngđột pháQuản lý rủi roquản lý tiền bạc

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()

Có liên quan

Thêm nữa