Chiến lược theo dõi xu hướng dựa trên chỉ báo RSI và chỉ báo ZigZag


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

Chiến lược theo dõi xu hướng dựa trên chỉ báo RSI và chỉ báo ZigZag

Tổng quan

Chiến lược này được gọi là chiến lược theo dõi xu hướng 15 phút của đồng tiền điện tử dựa trên chỉ số RSI và chỉ số ZigZag. Chiến lược này được thiết kế đặc biệt cho thị trường tiền điện tử trong chu kỳ thời gian 15 phút (như ETHUSD / T, BTCUSD / T, v.v.). Chiến lược xác định hướng xu hướng bằng cách kết hợp chỉ số RSI để đánh giá mua quá mức và chỉ số ZigZag để đánh giá biến động giá, thuộc về chiến lược theo dõi xu hướng điển hình.

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

Lập luận cốt lõi của chiến lược này là sử dụng chỉ số RSI và chỉ số ZigZag để đánh giá xu hướng giá cả cùng một lúc. Cụ thể, chỉ số RSI đánh giá giá cả có quá mua hay quá bán hay không và chỉ số ZigZag đánh giá giá cả có sự biến động lớn của một tỷ lệ phần trăm được chỉ định hay không. Khi cả hai phát ra tín hiệu giao dịch cùng một lúc, chúng tôi đánh giá xu hướng đang biến đổi và có thể thực hiện hoạt động đảo ngược.

Đối với chỉ số RSI, chúng tôi đặt đường mua quá mức là 75 và đường bán quá mức là 25. Khi đường RSI đi từ dưới lên qua 25, giao dịch được coi là chuyển từ mua quá mức sang mua, và khi đường RSI đi từ trên xuống qua 75, giao dịch được coi là chuyển từ mua đến mua quá mức.

Đối với chỉ số ZigZag, chúng tôi đặt ngưỡng giá biến động là 1%. Khi giá biến động mạnh hơn 1%, đường chỉ số ZigZag sẽ phát tín hiệu. Kết hợp với phán đoán xu hướng, chúng tôi có thể thấy điểm biến động của xu hướng giá.

Khi hai chỉ số phát ra tín hiệu, nếu hướng xu hướng trước đó là lạc quan, và bây giờ RSI đã mua quá mức và ZigZag hiển thị lỗ hổng nhảy vọt, thì chúng ta sẽ phán đoán hành động lên đỉnh, và tại thời điểm này có thể xem xét việc tháo; ngược lại, nếu hướng xu hướng trước đó là giảm, và bây giờ RSI đã bán quá mức và ZigZag hiển thị lỗ hổng nhảy vọt, thì chúng ta sẽ phán đoán hành động xuống đáy, và tại thời điểm này có thể xem xét nhiều hơn. Bằng logic như vậy, chúng ta có thể thực hiện hoạt động theo dõi xu hướng.

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

Lợi thế lớn nhất của chiến lược này là kết hợp với phán đoán hai chỉ số, có thể lọc hiệu quả các tín hiệu giả, cải thiện chất lượng tín hiệu. Chỉ dựa vào chỉ một chỉ số rất dễ tạo ra tín hiệu giả, và chiến lược này có thể lọc ra một số tín hiệu không hiệu quả thông qua xác minh của chỉ số RSI và chỉ số ZigZag, do đó cải thiện tỷ lệ giao dịch.

Một lợi thế khác là tính linh hoạt trong thiết lập các tham số. Các tham số RSI và tham số ZigZag trong chiến lược này đều có thể được tùy chỉnh, chúng tôi có thể điều chỉnh các tham số để đạt được hiệu quả tối ưu dựa trên các đặc điểm của các thị trường khác nhau. Điều này mang lại cho chiến lược sự linh hoạt lớn.

Rủi ro chiến lược

Rủi ro chính của chiến lược này nằm ở khả năng các chỉ số phát ra tín hiệu sai. Mặc dù chúng tôi đã sử dụng xác minh kết hợp hai chỉ số, nhưng trong thời gian thị trường biến động mạnh, vẫn có thể xảy ra trường hợp các chỉ số không hoạt động, dẫn đến giao dịch thất bại. Ngoài ra, cài đặt tham số không đúng cũng có thể ảnh hưởng đến hiệu quả của chiến lược.

Để giảm rủi ro, chúng ta có thể giảm thời gian giữ vị trí một cách thích hợp và dừng lỗ kịp thời. Đồng thời, việc thiết lập tham số tối ưu hóa rất quan trọng và cần phải xem xét đầy đủ các đặc điểm của thị trường.

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

Chính sách này có thể được tối ưu hóa theo các khía cạnh sau:

  1. Tăng các chỉ số, đưa ra nhiều chỉ số hơn để đưa ra phán đoán tổng hợp, như KDJ, MACD, và nhiều hơn nữa, có thể lọc tín hiệu.

  2. Tham gia thuật toán học máy, tự động tối ưu hóa các tham số thiết lập thông qua công nghệ AI, thích ứng với thay đổi thị trường.

  3. Thêm cơ chế dừng lỗ thích ứng, có thể điều chỉnh động khoảng dừng lỗ theo mức biến động của thị trường.

  4. Tối ưu hóa quản lý vị thế, ví dụ như phân bổ vốn theo xu hướng mạnh hoặc yếu.

  5. Thiết lập chiến lược tùy chọn để tự động chuyển đổi trong thị trường bất thường.

Tóm tắt

Chiến lược này nói chung là một chiến lược theo dõi xu hướng điển hình, ý tưởng cốt lõi là kết hợp chỉ số RSI và chỉ số ZigZag để xác định điểm biến đổi xu hướng giá. Ưu điểm của chiến lược là kết hợp hai chỉ số để lọc các tín hiệu sai lệch, cải thiện hiệu quả giao dịch.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SoftKill21
//@version=4
strategy("Crypto ZigZag RSI strategy 15min",overlay=true)
length =input(5, title="RSI Length")
overSold = input(25)
overBought= input(75)

p =close

vrsi = rsi(p, length)
var bool long = na
var bool short = na

long :=crossover(vrsi,overSold) 
short := crossunder(vrsi,overBought)

var float last_open_long = na
var float last_open_short = na

last_open_long := long ? close : nz(last_open_long[1])
last_open_short := short ? close : nz(last_open_short[1])


entry_value =last_open_long
entry_value1=last_open_short

//
ZZPercent = input(1, title="Minimum % Change", type=input.float)
r1Level=entry_value
s1Level=entry_value1
trend = 0
trend := na(trend[1]) ? 1 : trend[1]
LL = 0.0
LL := na(LL[1]) ? s1Level : LL[1]
HH = 0.0
HH := na(HH[1]) ?r1Level : HH[1]

Pi = ZZPercent * 0.01
zigzag = float(na)

if trend > 0  
    if r1Level >= HH  
        HH := r1Level
        HH
    else
        if s1Level < HH * (1 - Pi)
            zigzag :=r1Level[1]
            trend := -1
            LL := s1Level
            LL
else
   
    if s1Level <= LL 
        LL := s1Level
        LL
    else
        if r1Level > LL * (1 + Pi)
            zigzag := s1Level[1]
            trend := 1
            HH := s1Level
            HH


shortc=crossunder(trend,0)
longc=crossover(trend,0)


longa =input(true)
shorta=input(false)

if(longa)
    strategy.entry("long",1,when=longc)
    strategy.close("long",when=shortc)
if(shorta)
    strategy.entry("short",0,when=shortc)
    strategy.close("long",when=longc)