Tài nguyên đang được tải lên... tải...

Chiến lược giao dịch trung bình động động ba giai đoạn của Larry Williams

Tác giả:ChaoZhang, Ngày: 2024-05-11 17:35:22
Tags:EMA

img

Tổng quan

Bài viết này giới thiệu một chiến lược giao dịch dựa trên trung bình động động ba giai đoạn của Larry Williams. Chiến lược sử dụng hai trung bình động theo cấp số nhân (EMA) để nắm bắt xu hướng giá và tạo ra tín hiệu giao dịch khi giá đóng của ba cây nến liên tiếp phá vỡ EMA. Các thông số chiến lược có thể điều chỉnh và phù hợp với các thị trường và khung thời gian khác nhau.

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

  1. Tính toán hai EMA: giá cao EMA và giá thấp EMA của giá đóng cửa, với thời gian điều chỉnh.
  2. Xác định xem thời gian hiện tại có nằm trong khoảng thời gian giao dịch đã thiết lập không.
  3. Xác định xem ba ngọn nến cuối cùng đã đóng liên tiếp trên (bullish) hoặc dưới (bearish) các EMA.
  4. Nếu điều kiện 3 được đáp ứng và vị trí là 0, mở một vị trí dài; nếu điều kiện ngược lại của điều kiện 3 được đáp ứng và một vị trí dài được giữ, đóng vị trí.
  5. Đóng vị trí vào cuối mỗi ngày giao dịch nếu giữ vị trí.

Ưu điểm chiến lược

  1. Các tham số linh hoạt: Thời gian EMA, khoảng thời gian giao dịch và các tham số khác có thể điều chỉnh để thích nghi với các thị trường khác nhau.
  2. Theo dõi xu hướng: Sử dụng EMA và hướng của nến liên tiếp để xác định xu hướng, giúp nắm bắt thị trường xu hướng.
  3. Stop-loss kịp thời: Ngay lập tức đóng vị trí khi giá vượt qua EMA chống lại xu hướng, kiểm soát rút tiền.
  4. Đóng vị trí trong ngày: Đóng vị trí vào cuối mỗi ngày giao dịch, tránh rủi ro qua đêm.

Rủi ro chiến lược

  1. Rủi ro thị trường hỗn loạn: Giao dịch thường xuyên trên thị trường không có xu hướng có thể dẫn đến tổn thất.
  2. Rủi ro tham số: Hiệu suất thay đổi rất nhiều với các tham số khác nhau trong các thị trường khác nhau, đòi hỏi tối ưu hóa có mục tiêu.
  3. Rủi ro lỗ hổng: Mở lỗ hổng có thể gây ra sự trượt giá đầu vào của chiến lược, làm tăng rủi ro.

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

  1. Bộ lọc xu hướng: Kết hợp các chỉ số như ATR và RSI để giúp đánh giá sức mạnh xu hướng và tránh thị trường hỗn loạn.
  2. Tối ưu hóa tham số động: Điều chỉnh động các tham số dựa trên các đặc điểm thị trường gần đây để cải thiện khả năng thích nghi.
  3. Quản lý vị trí: Điều chỉnh vị trí dựa trên sức mạnh xu hướng và vốn, kiểm soát rủi ro.
  4. Kết hợp dừng lỗ và lấy lợi nhuận: Đặt mức dừng lỗ hợp lý và mục tiêu lợi nhuận để giảm rủi ro giao dịch duy nhất.

Tóm lại

Chiến lược giao dịch trung bình động ba giai đoạn của Larry Williams là một chiến lược theo xu hướng dựa trên EMA kép và hướng của nến liên tiếp. Với tối ưu hóa tham số, nó có thể thích nghi với các thị trường khác nhau. Tuy nhiên, chính chiến lược tương đối đơn giản, hoạt động kém trong các thị trường hỗn loạn và thiếu các biện pháp kiểm soát rủi ro, đòi hỏi tối ưu hóa và cải thiện hơn nữa.


/*backtest
start: 2023-05-05 00:00:00
end: 2024-05-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Larry Williams 3 Periodos Editável de MarcosJr", overlay=true, process_orders_on_close=true)

// Parametrização do período do EMA
emaPeriodHighs = input.int(title="Highs Period", defval=3, minval=1, maxval=9999)
emaPeriodLows = input.int(title="Lows Period", defval=3, minval=1, maxval=9999)

// Parametrização da data de início e fim do período a ser coletado
startYear = input.int(title="Start Year", defval=2020)
startMonth = input.int(title="Start Month", defval=1, minval=1, maxval=12)
startDay = input.int(title="Start Day", defval=1, minval=1, maxval=31)

endYear = input.int(title="End Year", defval=2020)
endMonth = input.int(title="End Month", defval=12, minval=1, maxval=12)
endDay = input.int(title="End Day", defval=31, minval=1, maxval=31)

// Convertendo data de início e fim para timestamp
startDate = timestamp(startYear, startMonth, startDay, 00, 00)
endDate = timestamp(endYear, endMonth, endDay, 23, 59)

// EMA
emaH = ta.ema(high, emaPeriodHighs)
emaL = ta.ema(low, emaPeriodLows)

// PLOT:
// Desenha as linhas EMA no gráfico
plot(emaH, color=color.green, linewidth=2)
plot(emaL, color=color.red, linewidth=2)

// Condições
inDateRange = true

// Verifica se houve mais de três candles consecutivos do mesmo sentido
checkThreeConsecutiveCandles = (close[0] > close[1] and close[1] > close[2] and close[2] > close[3]) or (close[0] < close[1] and close[1] < close[2] and close[2] < close[3])

if(close < emaL and inDateRange and checkThreeConsecutiveCandles and barstate.isconfirmed)
    strategy.entry("Long", strategy.long, comment="Long", when=strategy.position_size == 0)
if(close > emaH and inDateRange and checkThreeConsecutiveCandles and barstate.isconfirmed)
    strategy.close("Long", comment="Close Long")

// Fechar a operação no fechamento do pregão
if(strategy.position_size > 0 and na(time_close[0]))
    strategy.close("Long", comment="Close Long")


Có liên quan

Thêm nữa