Chiến lược nắm bắt xu hướng trung bình động William Alligator

MA EMA SMMA
Ngày tạo: 2024-05-17 10:52:19 sửa đổi lần cuối: 2024-05-17 10:52:19
sao chép: 0 Số nhấp chuột: 332
1
tập trung vào
1234
Người theo dõi

Chiến lược nắm bắt xu hướng trung bình động William Alligator

Tổng quan

Chiến lược nắm bắt xu hướng đường William Herschel là một chiến lược theo dõi xu hướng kết hợp chỉ số William Herschel và đường trung bình di chuyển. Chiến lược này sử dụng vị trí tương đối của ba đường của chỉ số William Herschel (đường răng, răng và môi) để đánh giá xu hướng, đồng thời sử dụng đường trung bình di chuyển làm xác nhận xu hướng thứ hai.

Nguyên tắc chiến lược

Nền tảng của chiến lược bắt xu hướng theo đường cong William Herschel là sử dụng chỉ số William Herschel và đường trung bình di chuyển để xác nhận và xác nhận xu hướng. Chỉ số William Herschel bao gồm ba đường: Jaw, Teeth và Lips, tương ứng là đường trung bình di chuyển trơn ở các chu kỳ khác nhau.

Lợi thế chiến lược

  1. Theo dõi xu hướng: Chiến lược này có thể xác định và theo dõi xu hướng thị trường một cách hiệu quả bằng cách kết hợp với chỉ số William H. Fisher và đường trung bình di chuyển. Nó được áp dụng cho các thị trường có xu hướng mạnh.
  2. Xác nhận kép: Chiến lược sử dụng cơ chế xác nhận kép của chỉ số William Herschel và đường trung bình di chuyển, có thể lọc hiệu quả tiếng ồn, tăng độ chính xác của nhận dạng xu hướng và giảm tín hiệu giả.
  3. Tính linh hoạt của tham số: Các tham số của chiến lược được thiết lập linh hoạt, người dùng có thể điều chỉnh chu kỳ của chỉ số William H. Fisher và chu kỳ của đường trung bình di chuyển để tối ưu hóa hiệu suất của chiến lược, tùy thuộc vào các đặc điểm thị trường và phong cách giao dịch khác nhau.
  4. Khả năng áp dụng rộng rãi: Chiến lược này có thể được áp dụng cho các thị trường có xu hướng mạnh như tiền điện tử, ngoại hối, tương lai hàng hóa, v.v., và có thể cung cấp tài liệu tham khảo cho các loại hình thương nhân khác nhau.

Rủi ro chiến lược

  1. Thị trường chấn động: Trong thị trường chấn động, chỉ số William Herschel và đường trung bình di chuyển có thể phát ra nhiều tín hiệu sai lệch, dẫn đến việc chiến lược thường xuyên tháo lỗ, ảnh hưởng đến thu nhập.
  2. Sự thay đổi xu hướng: Chiến lược này có thể phản ứng chậm khi xu hướng thay đổi, dẫn đến việc bỏ lỡ thời gian nhập cảnh tốt nhất hoặc trì hoãn xuất cảnh, gây ra một số tổn thất.
  3. Tối ưu hóa tham số: Hiệu suất của chiến lược phụ thuộc vào sự lựa chọn tham số, các thiết lập tham số khác nhau có thể dẫn đến sự khác biệt lớn trong hiệu suất của chiến lược, cần phải được kiểm tra lại và tối ưu hóa đầy đủ.
  4. Quản lý rủi ro: Chiến lược này không có các biện pháp quản lý rủi ro rõ ràng, chẳng hạn như dừng lỗ và quản lý vị trí, điều này có thể dẫn đến sự rút lui lớn hơn khi thị trường biến động mạnh.

Hướng tối ưu hóa chiến lược

  1. Thêm bộ lọc cường độ xu hướng: Thêm các phán đoán về cường độ xu hướng vào điều kiện mở vị trí, chẳng hạn như chỉ số ADX hoặc độ lệch đường trung bình, để lọc các tín hiệu xu hướng yếu hơn, cải thiện chất lượng mở vị trí.
  2. Tối ưu hóa cơ chế thoát: Khi có xu hướng đảo ngược, hãy xem xét việc sử dụng các cơ chế thoát nhạy cảm hơn, chẳng hạn như giới thiệu ATR dừng hoặc dừng đường xu hướng, để khóa lợi nhuận càng sớm càng tốt và giảm sự rút lui.
  3. Tối ưu hóa tham số động: Điều chỉnh động các tham số của chỉ số William H. Fisher và đường trung bình di chuyển để phù hợp với nhịp độ và tính năng biến động của thị trường khác nhau.
  4. Tham gia quản lý rủi ro: đưa ra các biện pháp quản lý rủi ro nghiêm ngặt, chẳng hạn như thiết lập các quy tắc quản lý lỗ hổng và vị trí hợp lý để kiểm soát ngưỡng rủi ro cho mỗi giao dịch và thu hồi tối đa cho toàn bộ tài khoản.

Tóm tắt

Chiến lược nắm bắt xu hướng đường thẳng William Herschel, kết hợp với chỉ số William Herschel và đường trung bình di chuyển, tạo thành một chiến lược theo dõi xu hướng đơn giản và hiệu quả. Chiến lược này phù hợp với thị trường có xu hướng mạnh, tăng độ chính xác của nhận dạng xu hướng thông qua cơ chế xác nhận kép. Tuy nhiên, chiến lược có thể hoạt động kém trong thị trường bất ổn và thiếu các biện pháp quản lý rủi ro rõ ràng.

Mã nguồn chiến lược
/*backtest
start: 2024-05-09 00:00:00
end: 2024-05-16 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tradedots

//@version=5
strategy("Alligator + MA Trend Catcher [TradeDots]", overlay=true, initial_capital = 10000, default_qty_type = strategy.percent_of_equity, default_qty_value = 80, commission_type = strategy.commission.percent, commission_value = 0.01)

// william alligator
smma(src, length) =>
	smma =  0.0
	smma := na(smma[1]) ? ta.sma(src, length) : (smma[1] * (length - 1) + src) / length
	smma

jawLength = input.int(8, minval=1, title="Jaw Length", group = "william alligator settings")
teethLength = input.int(5, minval=1, title="Teeth Length", group = "william alligator settings")
lipsLength = input.int(3, minval=1, title="Lips Length", group = "william alligator settings")
jawOffset = input(8, title="Jaw Offset", group = "william alligator settings")
teethOffset = input(5, title="Teeth Offset", group = "william alligator settings")
lipsOffset = input(3, title="Lips Offset", group = "william alligator settings")
jaw = smma(hl2, jawLength)
teeth = smma(hl2, teethLength)
lips = smma(hl2, lipsLength)

// ma
input_trendline_length = input.int(200, "Trendline Length", group = "moving average settings")
trendline = ta.ema(close, input_trendline_length)

// strategy settings
input_long_orders = input.bool(true, "Long", group = "Strategy Settings")
input_short_orders = input.bool(true, "Short", group = "Strategy Settings")

//long
if close > trendline and lips > teeth and teeth > jaw and input_long_orders and strategy.opentrades == 0
    strategy.entry("Long", strategy.long)
    label.new(bar_index, low, text = "🟢 Long", style = label.style_label_up, color = #9cff87)

if close < trendline and lips < teeth and teeth < jaw
    strategy.close("Long")

//short
if close < trendline and lips < teeth and teeth < jaw and input_short_orders and strategy.opentrades == 0
    strategy.entry("Short", strategy.short)
    label.new(bar_index, high, text = "🔴 Short", style = label.style_label_down, color = #f9396a, textcolor = color.white)

if close > trendline and lips > teeth and teeth > jaw 
    strategy.close("Short")

//ploting
plot(trendline, "Trendline", color = #9cff87, linewidth = 3)
plot(jaw, "Jaw", offset = jawOffset, color=#b3e9c7)
plot(teeth, "Teeth", offset = teethOffset, color=#c2f8cb)
plot(lips, "Lips", offset = lipsOffset, color=#f0fff1)