Chiến lược giao dịch đảo ngược RSI

Tác giả:ChaoZhang, Ngày: 2023-09-12 14:37:28
Tags:

Chiến lược này dựa trên các đặc điểm đảo ngược trung bình của chỉ số RSI. RSI mua quá mức và bán quá mức có xu hướng quay trở lại, tạo ra cơ hội giao dịch. Chiến lược xác định các trạng thái mua quá mức / bán quá mức bằng cách sử dụng RSI để thiết lập các vị trí dài / ngắn một cách có hệ thống.

Chiến lược logic:

  1. Tính toán giá trị RSI và đặt ngưỡng mua quá mức và bán quá mức, thường là 60 và 30.

  2. Khi chỉ số RSI vượt qua đường mua quá mức, hãy mua ngắn.

  3. Khi chỉ số RSI vượt qua đường bán quá mức, hãy mua dài.

  4. Stop loss dài là giá nhập * (1 - stop loss %).

  5. Nếu giá đạt mức dừng lỗ, hãy thoát khỏi vị trí.

Ưu điểm:

  1. Nhận các cơ hội đảo ngược trong thời gian giảm xu hướng bằng cách sử dụng chỉ số RSI.

  2. Giao dịch đột phá cho phép vào kịp thời khi xu hướng đảo ngược.

  3. Đánh giá giá trị giá trị giá trị giá trị giá trị

Rủi ro:

  1. Chỉ số RSI có xu hướng đưa ra tín hiệu sai.

  2. Đánh mất quá chặt sẽ gây ra dừng quá mức.

  3. Thời gian nhập khẩu không phù hợp có thể dẫn đến các vị trí quá lớn.

Tóm lại, chiến lược đảo ngược trung bình của chỉ số RSI là giao dịch vượt quá chỉ số RSI. Nó theo xu hướng mất mát được kiểm soát trên các giao dịch đơn lẻ. Nhưng độ tin cậy của chỉ số RSI là thấp. Các nhà đầu tư nên sử dụng nó một cách thận trọng với các chỉ số xác nhận khác, dừng tối ưu và mong đợi lợi nhuận ngắn hạn khiêm tốn.


/*backtest
start: 2022-09-05 00:00:00
end: 2023-09-11 00:00:00
period: 1d
basePeriod: 1h
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/
// © relevantLeader16058

//@version=4
strategy(shorttitle='RSI Bot Strategy',title='Quadency Mean Reversion Bot Strategy', overlay=true, initial_capital = 100, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.08)

//Backtest dates
start = input(defval = timestamp("08 Mar 2021 00:00 -0600"), title = "Start Time", type = input.time)
finish = input(defval = timestamp("9 Mar 2021 23:59 -0600"), title = "Start Time", type = input.time)
window()  => true       // create function "within window of time"

// Complete Control over RSI inputs and source price calculations
lengthRSI = input(14, minval=1)
source = input(title="Source", type=input.source, defval=close)
strat = input(title="Strategy", defval="Long/Short", options=["Long Only", "Long/Short", "Short Only"])
strat_val = strat == "Long Only" ? 1 : strat == "Long/Short" ? 0 : -1
stoploss = input(5.00, "Stop Loss %")
oversold= input(30)
overbought= input(60)

// Standard RSI Calculation
RSI = rsi(close, lengthRSI)
stLossLong=(1-(stoploss*.01))
stLossShort=(1+(stoploss*.01))

//Long and Short Strategy Logic
GoLong = crossunder(RSI, oversold) and window()
GoShort = crossover(RSI, overbought) and window()

// Strategy Entry and Exit
if (GoLong)
    if strat_val > -1
        strategy.entry("LONG", strategy.long)
    if strat_val < 1
        strategy.close("SHORT")
    

if (GoShort)
    if strat_val > -1
        strategy.close("LONG")
    if strat_val < 1
        strategy.entry("SHORT", strategy.short)


LongStopLoss = barssince(GoLong)<barssince(GoShort) and crossunder(low, valuewhen(GoLong, close, 0)*stLossLong)

ShortStopLoss = barssince(GoLong)>barssince(GoShort) and crossover(high, valuewhen(GoShort, close, 0)*stLossShort)

if (ShortStopLoss)
    strategy.close("SHORT")
    
if (LongStopLoss)
    strategy.close("LONG")






Thêm nữa