Chiến lược RSI Golden Section và Relative Strength


Ngày tạo: 2024-01-03 16:54:32 sửa đổi lần cuối: 2024-01-03 16:54:32
sao chép: 0 Số nhấp chuột: 852
1
tập trung vào
1621
Người theo dõi

Chiến lược RSI Golden Section và Relative Strength

Tổng quan

Chiến lược phân chia vàng với chỉ số tương đối mạnh (RSI) là một chiến lược giao dịch trong ngày. Nó kết hợp quy tắc phân chia vàng của Fibonacci với chỉ số RSI để xác định RSI có quá mua hay bán không khi giá gần điểm quan trọng của phân chia vàng để phát ra tín hiệu mua hoặc bán.

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

  1. Đường trục trung tâm tính giá dựa trên đường K có chiều dài nhất định.

  2. Điểm then chốt phân chia vàng được tính dựa trên đường trung tâm và chênh lệch chuẩn, bao gồm cấp 0.618 và cấp 1.

  3. Khi giá gần điểm quan trọng của phân chia vàng, hãy kiểm tra xem chỉ số RSI có đi vào vùng quá mua hay quá bán hay không.

  4. Nếu đồng thời đáp ứng quy tắc chia vàng và điều kiện RSI, tín hiệu mua hoặc bán sẽ được phát ra.

  5. Thiết lập Stop Loss và Stop Stop để kiểm soát rủi ro

Phân tích lợi thế

  1. Kết hợp nhiều chỉ số, có thể cải thiện chất lượng tín hiệu và giảm tín hiệu giả.

  2. Sử dụng tính năng hỗ trợ / kháng cự của quy tắc chia vàng để nâng cao chất lượng nhập cảnh.

  3. Chỉ số RSI có thể đánh giá tâm lý của thị trường, tránh sự đảo ngược của tình huống cực đoan.

  4. Đối với giao dịch intraday tần suất cao, lợi nhuận có thể được tích lũy qua nhiều giao dịch nhỏ hơn.

Phân tích rủi ro

  1. Luật phân chia vàng không đảm bảo 100% giá vàng sẽ đảo ngược.

  2. Chỉ số RSI có thể phát ra tín hiệu sai lệch, cần kết hợp với hoạt động giá.

  3. Đặt điểm dừng quá nhỏ có thể bị phá vỡ bởi biến động giá.

  4. Giao dịch tần số cao đòi hỏi nhiều chi phí giao dịch và kiểm soát rủi ro nghiêm ngặt hơn.

Giải pháp:

  1. Tuân thủ nghiêm ngặt các quy tắc dừng lỗ và kiểm soát tổn thất đơn lẻ.

  2. Để tránh hiểu nhầm, RSI được nới lỏng một cách thích hợp.

  3. Tối ưu hóa điểm dừng lỗ, giảm thiểu khả năng bị dừng lỗ trong khi đảm bảo dừng lỗ.

Hướng tối ưu hóa

  1. Kiểm tra kết quả tối ưu hóa tham số cho các chu kỳ khác nhau.

  2. Thử kết hợp với các chỉ số khác như MACD, Blink và các chỉ số khác để cải thiện chất lượng tín hiệu.

  3. Nghiên cứu các chiến lược dừng lỗ khác nhau để tìm kiếm cấu hình tối ưu.

  4. Đánh giá xác định thời gian nắm giữ tốt nhất để cân bằng lợi nhuận và chi phí.

Tóm tắt

Phân chia vàng với chiến lược RSI có thể lọc một số giao dịch ồn ào thông qua xác nhận kép. Nó có thể tạo ra tín hiệu giao dịch chất lượng cao hơn so với việc sử dụng chỉ số đơn lẻ.

Mã nguồn chiến lược
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 1m
basePeriod: 1m
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/
// © MohamedYAbdelaziz

// Intraday Trading
// Best used for Short Timeframes [1-30 Minutes]
// If you have any modifications please tell me to update it

//@version=4
strategy(title="Fibonacci + RSI - Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, currency=currency.USD)

// Inputs
timeFilter = year >= 2000
    // Stop Loss %
loss_percent = input(title="Stop Loss (%)", minval=0.0, step=0.1, defval=2) * 0.001
    // RSI Inputs
len = input(title="[RSI] Length", minval=0, step=1, defval=14)
overSold = input(title="[RSI] Over Sold %", defval=30)
overBought = input(title="[RSI] Over Bought %", defval=70)
    // Fibonacci Levels
length = input(title="[Fibonacci] Length", defval=200, minval=1)
src = input(hlc3, title="[Fibonacci] Source")
mult = input(title="[Fibonacci] Multiplier", defval=3.0, minval=0.001, maxval=50)
level = input(title="[Fibonacci] Level", defval=764)


// Calculate Fibonacci
basis = vwma(src, length)
dev = mult * stdev(src, length)
fu764= basis + (0.001*level*dev)
fu1= basis + (1*dev)
fd764= basis - (0.001*level*dev)
fd1= basis - (1*dev)

// Calculate RSI
vrsi = rsi(close, len)

// Calculate the Targets
targetUp = fd764
targetDown = fu764
    // Actual Targets
bought = strategy.position_size[0] > strategy.position_size[1]
exit_long = valuewhen(bought, targetUp, 0)
sold = strategy.position_size[0] < strategy.position_size[1]
exit_short = valuewhen(sold, targetDown, 0)

// Calculate Stop Losses
stop_long = strategy.position_avg_price * (1 - loss_percent)
stop_short = strategy.position_avg_price * (1 + loss_percent)

// Conditions to Open Trades
openLong = low < fd1 and crossover(vrsi[1], overSold)
openShort = high > fu1 and crossunder(vrsi[1], overBought)

// Conditions to Close Trades
closeLong = high > exit_long
closeShort = low < exit_short 


// Plots
plot(basis, color=color.blue, linewidth=2, title="[Fibonacci Level] Basis")
plot(fu764, color=color.white, linewidth=1, title="[Fibonacci Level] Short Target")
plot(fu1, color=color.red, linewidth=2, title="1", title="[Fibonacci Level] Top")
plot(fd764, color=color.white, linewidth=1, title="[Fibonacci Level] Long Target")
plot(fd1, color=color.green, linewidth=2, title="1", title="[Fibonacci Level] Bottom")


// Strategy Orders
if timeFilter
    // Entry Orders
    strategy.entry(id="Long", long=true, when=openLong and high < targetUp, limit=close)
    strategy.entry(id="Short", long=false, when=openShort and low > targetDown, limit=close)

    // Exit Orders
    strategy.exit(id="Long", when=closeLong and strategy.position_size > 0, limit=exit_long, stop=stop_long)
    strategy.exit(id="Short", when=closeShort and strategy.position_size < 0, limit=exit_short, stop=stop_short)