Williams
Chiến lược sử dụng ba SMA có độ dài thời gian khác nhau - đường nhanh sma1, đường trung sma2 và đường chậm sma3, nơi sma1 có thời gian ngắn nhất và sma3 có thời gian dài nhất.
Khi sma1 vượt qua trên sma2 và sma2 vượt qua trên sma3, điều này cho thấy thị trường đang có xu hướng tăng và tạo thành một miệng cá sấu tăng.
Ngược lại, khi sma1 vượt qua dưới sma2, và sma2 vượt qua dưới sma3, nó cho thấy thị trường đang có xu hướng giảm và hình thành một miệng cá sấu giảm.
Điều kiện thoát là khi ba đường thẳng hàng, với đường nhanh dưới đường trung hoặc đường trung dưới đường chậm.
Chiến lược cũng vẽ màu nền để xác định hướng xu hướng - màu xanh lá cây cho xu hướng tăng và màu đỏ cho xu hướng giảm.
Tóm lại, chiến lược này sử dụng điểm mạnh của đường trung bình động và các mô hình miệng cá sấu để xác định hướng xu hướng và giao dịch phù hợp.
Để giải quyết rủi ro, những cải tiến sau đây có thể được thực hiện:
Thêm bộ lọc xu hướng để tránh whipsaws trong các thị trường dao động.
Tối ưu hóa điều kiện thoát bằng cách sử dụng các chỉ số xu hướng.
Thêm chiến lược dừng lỗ để kiểm soát lỗ giao dịch duy nhất.
Sử dụng trung bình động thích nghi để các giai đoạn điều chỉnh năng động.
Chiến lược có thể được tối ưu hóa thêm trong các khía cạnh sau:
Thêm bộ lọc sức mạnh xu hướng để tránh nhập sớm vào xu hướng yếu.
Tối ưu hóa thời gian trung bình di chuyển để tìm kết hợp tốt nhất thông qua backtesting.
Sử dụng các đường trung bình động thích nghi để các giai đoạn thích nghi dựa trên đà thị trường.
Thêm các chiến lược dừng lỗ như dừng lỗ, cân bằng tài khoản để kiểm soát rủi ro.
Cải thiện điều kiện nhập khẩu bằng cách sử dụng khối lượng, Bollinger Bands vv để tăng độ chính xác.
Cải thiện điều kiện thoát bằng cách đánh giá xác suất đảo ngược xu hướng bằng các chỉ số khi các đường dây giao nhau.
Chiến lược Williams
/*backtest start: 2023-10-13 00:00:00 end: 2023-11-12 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2019 //@version=3 strategy(title = "Noro's Alligator Strategy by Bill Williams", shorttitle = "Alligator", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot") len1 = input(50, defval = 50, minval = 1, title = "MA 1 Length") len2 = input(100, defval = 100, minval = 1, title = "MA 2 Length") len3 = input(200, defval = 200, minval = 1, title = "MA 3 Length") src = input(close, title = "Source") showbg = input(false, title = "Show Background") 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") //MAs sma1 = sma(src, len1) sma2 = sma(src, len2) sma3 = sma(src, len3) plot(sma1, color = lime, linewidth = 2) plot(sma2, color = blue, linewidth = 2) plot(sma3, color = red, linewidth = 2) //Signals up = sma1 > sma2 and sma2 > sma3 dn = sma1 < sma2 and sma2 < sma3 //Background trend = 0 trend := up ? 1 : dn ? -1 : trend[1] col = showbg == false ? na : trend == 1 ? lime : red bgcolor(col) //Trading size = strategy.position_size lot = 0.0 lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1] if up strategy.entry("Long", strategy.long, needlong ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn strategy.entry("Short", strategy.short, needshort ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all()