Chiến lược giao dịch chỉ số Williams %R

Tác giả:ChaoZhang, Ngày: 2023-09-14 15:38:51
Tags:

Chiến lược logic

Chiến lược giao dịch Williams %R tạo ra các tín hiệu dựa trên chỉ số Williams Percent Range, đo đạc động lực thị trường bằng cách so sánh hiện tại gần với phạm vi cao thấp trong một khoảng thời gian.

Chiến lược này sẽ kéo dài khi đường %R vượt quá mức bán quá mức, và bán khi đường vượt quá mức mua quá mức.

  1. Tính toán Williams %R trong một khung thời gian (ví dụ: 14 giai đoạn)

  2. Đặt mức mua quá mức (ví dụ -20) và bán quá mức (ví dụ -80)

  3. Đi dài khi đường % R vượt qua quá mức bán

  4. Đóng mua dài khi đường %R đi xuống qua mua quá mức

Điều này cho phép các mục vào xung quanh các điểm đảo ngược tiềm năng để tận dụng các động thái ngắn hạn.

Ưu điểm

  • Các tham số và quy tắc đơn giản

  • Xác định sớm quá mức mua/bán

  • Giao dịch thoát hệ thống

Rủi ro

  • % R chậm lại có thể bỏ lỡ cơ hội

  • Yêu cầu tối ưu hóa đầu vào

  • Mức bán quá/mua quá là hướng dẫn sơ bộ

Tóm lại

Chiến lược Williams %R nhằm mục đích nắm bắt sự đảo ngược bằng cách giao dịch các khu vực mua quá mức / bán quá mức. Với kích thước vị trí và dừng đúng, rủi ro có thể được kiểm soát. Nhưng sự chậm trễ là một hạn chế chính đòi hỏi các công cụ bổ sung để xác nhận và thận trọng trong sử dụng.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-13 00:00:00
period: 12h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © Julien_Eche

//@version=5
strategy("Williams %R Strategy", overlay=true, initial_capital=100000, shorttitle="W%R Strategy")

// Paramètres
length = input(14, "Length")
overboughtLevel = input(-20, "Overbought Level")
oversoldLevel = input(-80, "Oversold Level")

// Calcul du Williams %R
williamsR = -100 * (ta.highest(high, length) - close) / (ta.highest(high, length) - ta.lowest(low, length))

// Conditions d'achat et de vente
buySignal = ta.crossover(williamsR, oversoldLevel)
sellSignal = ta.crossunder(williamsR, overboughtLevel)

// Entrée en position longue
if buySignal
    strategy.entry("Buy", strategy.long)

// Sortie de la position longue
if sellSignal
    strategy.close("Buy")


Thêm nữa