Chiến lược giao dịch định lượng RSI CCI Williams%R


Ngày tạo: 2024-01-24 11:18:08 sửa đổi lần cuối: 2024-01-24 11:18:08
sao chép: 0 Số nhấp chuột: 1155
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch định lượng RSI CCI Williams%R

Ghi chú chiến lược

Chiến lược này là một chiến lược trung hạn, kết hợp ba chỉ số phân loại của chỉ số RSI, CCI và William, để thực hiện một sự kết hợp hiệu quả của tín hiệu mua và bán. Chiến lược sẽ phát ra tín hiệu giao dịch khi ba chỉ số đồng thời hiển thị tín hiệu quá mua hoặc quá bán.

Tên của chiến lược được đặt ra là chiến lược 3 trawler, trong đó 3 trawler là sự kết hợp của chỉ số RSI, CCI và William, trong khi Trawler cho biết chiến lược này sẽ nắm bắt cơ hội như một con tàu đánh cá.

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

Chiến lược này dựa trên một số chỉ số:

  1. Chỉ số RSI đánh giá quá mua quá bán
  2. Chỉ số CCI đánh giá điểm thay đổi
  3. Chỉ số Williams %R xác nhận thời điểm mua và bán

Khi RSI thấp hơn 25 là bán quá mức, cao hơn 75 là mua quá mức. Khi CCI thấp hơn 130 là bán quá mức, cao hơn 130 là mua quá mức. Khi Williams %R thấp hơn 85 là bán quá mức, cao hơn 15 là mua quá mức.

Khi ba chỉ số trên cùng lúc hiển thị tín hiệu mua, tức là RSI < 25, CCI < -130, Williams % R < -85, thì chiến lược làm nhiều; khi hiển thị tín hiệu bán, tức là RSI > 75, CCI > 130, Williams % R > -15, thì chiến lược làm lỗ.

Điều này giúp tránh các tín hiệu giả tạo do chỉ số đơn lẻ tạo ra, tăng độ tin cậy của tín hiệu. Đồng thời, thiết lập dừng lỗ và chặn để kiểm soát rủi ro và lợi nhuận của một giao dịch.

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

  1. Bộ lọc đa chỉ số cho các tín hiệu giả
    Chiến lược này có thể lọc hiệu quả các tín hiệu mua và bán giả của một số chỉ số đơn lẻ Below, bằng cách kết hợp ba chỉ số RSI, CCI và Williams % R, do đó nâng cao độ tin cậy của tín hiệu.

  2. Kiểm soát rủi ro tự động
    Chiến lược này có cài đặt dừng và dừng lỗ, có thể tự động đặt giá dừng và dừng lỗ cho mỗi giao dịch, kiểm soát hiệu quả tổn thất của mỗi giao dịch, tránh vượt quá phạm vi chấp nhận được.

  3. áp dụng cho giao dịch ngắn hạn và trung hạn
    Chiến lược này phù hợp hơn với giao dịch ngắn hạn và trung hạn, phản xạ xu hướng ngắn hạn và trung hạn rõ ràng hơn thông qua kết hợp các chỉ số. Khả năng nhận diện xu hướng ngắn hạn và trung hạn yếu hơn.

  4. Dữ liệu thu được đầy đủ.
    Chiến lược này sử dụng đường K 45 phút EUR/USD, một loại có tính thanh khoản cao và dữ liệu phong phú trên thị trường ngoại hối, có thể giảm nguy cơ quá phù hợp do thiếu dữ liệu.

Rủi ro chiến lược

  1. Khả năng đánh giá xu hướng trung và dài hạn yếu kém
    Chiến lược này phụ thuộc nhiều hơn vào tín hiệu đảo ngược của chỉ số, ít có khả năng đánh giá và theo dõi xu hướng trung và dài hạn, và nếu gặp phải tình trạng đơn phương lâu dài, thì không gian kiếm lợi nhuận của giao dịch sẽ bị hạn chế.

  2. Có thể bỏ lỡ biến động giá ngắn hạn
    Chiến lược có chu kỳ 45 phút, không thể nắm bắt cơ hội lợi nhuận từ biến động giá ngắn hạn có tần suất cao hơn. Nếu có biến động giá lớn hơn trong ngắn hạn, chiến lược có thể bỏ lỡ các cơ hội này.

  3. Tác động của rủi ro hệ thống
    Chiến lược này chủ yếu được sử dụng cho các loại đồng EUR / USD. Nếu xảy ra một cuộc khủng hoảng kinh tế lớn, các thị trường ngoại hối toàn cầu có thể biến động dưới đây, các quy tắc giao dịch của chiến lược có thể bị mất hiệu lực, dẫn đến tổn thất lớn.

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

  1. Kết hợp các chỉ số theo xu hướng
    Bạn có thể thử thêm các chỉ số trung bình như MA, Boll, v.v. vào chiến lược để giúp xác định xu hướng trung hạn và dài hạn, mở vị trí khi xu hướng rõ ràng hơn, có thể tăng tỷ lệ lợi nhuận.

  2. Tối ưu hóa chiến lược dừng lỗ
    Bạn có thể đánh giá ảnh hưởng của các tham số dừng lỗ khác nhau đối với lợi nhuận cuối cùng bằng cách đánh giá lại nhiều dữ liệu lịch sử hơn để tìm ra các tham số tốt nhất. Ngoài ra, bạn cũng có thể xem xét các tham số dừng lỗ động.

  3. Mở rộng các loại có thể sử dụng
    Chiến lược hiện tại chủ yếu được áp dụng cho các loại tiền tệ EUR/USD. Chúng ta có thể thử nghiệm chiến lược này với các loại tiền tệ chính khác như bảng Anh, Nhật Bản và AUD, để kiểm tra tính ổn định và khả năng mở rộng của nó.

Tóm tắt

Chiến lược Trawler ba bước sử dụng sự kết hợp của ba chỉ số RSI, CCI và Williams % R để đánh giá giá trị biến động và phát tín hiệu giao dịch khi quá mua quá bán. So với chỉ số đơn lẻ, chiến lược này lọc nhiều tín hiệu giả hơn, có thể cải thiện độ chính xác của tín hiệu. Bằng cách quản lý dừng dừng tự động, kiểm soát rủi ro giao dịch. Nói chung, chiến lược này ổn định hơn, phù hợp cho hoạt động ngắn hạn và trung hạn, có thể thêm một mô-đun cho hệ thống giao dịch định lượng của chúng tôi.

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

//@version=5
strategy("RSI CCI Williams %R Strategy with TP and SL", overlay=true)

// Input parameters for indicators
rsi_period = input(14, title="RSI Period")
cci_period = input(20, title="CCI Period")
williams_period = input(14, title="Williams %R Period")

// Thresholds for overbought and oversold conditions
rsi_oversold = input(25, title="RSI Oversold Level")
rsi_overbought = input(75, title="RSI Overbought Level")
cci_oversold = input(-130, title="CCI Oversold Level")
cci_overbought = input(130, title="CCI Overbought Level")
williams_oversold = input(-85, title="Williams %R Oversold Level")
williams_overbought = input(-15, title="Williams %R Overbought Level")

// Take profit and stop loss levels as a percentage
take_profit_pct = input(1.2, title="Take Profit (%)") / 100
stop_loss_pct = input(0.45, title="Stop Loss (%)") / 100

// Indicator calculations
rsi = ta.rsi(close, rsi_period)
cci = ta.cci(close, cci_period)
highestHigh = ta.highest(high, williams_period)
lowestLow = ta.lowest(low, williams_period)
williamsR = (highestHigh - close) / (highestHigh - lowestLow) * -100

// Entry conditions
longCondition = rsi < rsi_oversold and cci < cci_oversold and williamsR < williams_oversold and strategy.position_size == 0
shortCondition = rsi > rsi_overbought and cci > cci_overbought and williamsR > williams_overbought and strategy.position_size == 0

// Execute strategy entry orders
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit or Stop Loss Long", "Long", limit=close * (1 + take_profit_pct), stop=close * (1 - stop_loss_pct))

if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit or Stop Loss Short", "Short", limit=close * (1 - take_profit_pct), stop=close * (1 + stop_loss_pct))

// Plot the signals on the chart
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, text="SELL")

// Plot the indicators for visualization
plot(rsi, title="RSI", color=color.blue)
plot(cci, title="CCI", color=color.purple)
plot(williamsR, title="Williams %R", color=color.orange)