Strategi Dagangan Trend Retracement Berdasarkan Penunjuk RSI

Penulis:ChaoZhang, Tarikh: 2023-09-13 15:33:26
Tag:

Strategi ini dinamakan Strategi Dagangan Retracement Trend Berdasarkan Indikator RSI. Ia menggunakan penunjuk RSI untuk mengukur tahap overbought / oversold, dan menggabungkan tetapan parameter yang dioptimumkan untuk perdagangan pullbacks dan menangkap pembalikan tempatan dalam trend yang kuat.

Indikator RSI menilai sama ada harga terlalu banyak atau terlalu banyak dijual. RSI di atas 70 menunjukkan keadaan terlalu banyak dibeli, sementara di bawah 30 adalah terlalu banyak dijual. Strategi ini menghasilkan isyarat jual apabila RSI mencapai 96, dan isyarat beli apabila RSI melanggar di bawah 4. Parameter yang dioptimumkan ini lebih sesuai untuk menangkap pembalikan sementara dalam trend yang kuat berbanding dengan tahap RSI tradisional.

Selepas memasuki, strategi ini menggunakan mekanisme mengambil keuntungan dan menghentikan kerugian. Posisi panjang ditutup apabila RSI melonjak ke 80 selepas pembalikan, dan kedudukan pendek ditutup apabila RSI turun ke 20, dengan berkesan mengunci keuntungan retracement.

Kelebihan strategi ini adalah menggunakan kepekaan RSI dalam penilaian yang mengakibatkan penurunan dan pembalikan trend, dan meningkatkan prestasi melalui pengoptimuman parameter dan mengambil keuntungan / berhenti kerugian.

Kesimpulannya, RSI adalah alat yang mudah dan praktikal untuk mengukur keadaan overbought / oversold. Melalui pengoptimuman parameter dan pengurusan risiko yang ketat, keberkesanannya dapat ditingkatkan untuk perdagangan retracement trend. Tetapi pedagang masih memerlukan fleksibiliti dalam penyesuaian strategi, kerana pasaran yang berbeza memerlukan tetapan parameter yang berbeza.


/*backtest
start: 2023-08-13 00:00:00
end: 2023-09-12 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/
// © corderomoraj


//@version=5
strategy("Good Mode RSI v2", overlay=true)

// Parámetros de la estrategia
rsiPeriod = input(2, "RSI Period")
sellLevel = input(96, "Sell Level")
buyLevel = input(4, "Buy Level")
takeProfitLevelSell = input(20, "Take Profit Level Sell")
takeProfitLevelBuy = input(80, "Take Profit Level Buy")
var float trailingStopPrice = na
var float trailingStopOffset = input(100, "Trailing Stop Offset (pips)")

// Capital inicial
initialCapital = 250
positionSize = initialCapital * 0.015

// Condiciones de entrada y salida
rsi = ta.rsi(close, rsiPeriod)

// Condiciones de entrada y salida para la orden de venta
sellCondition = rsi > sellLevel
closeSellCondition = rsi < takeProfitLevelSell

// Condiciones de entrada y salida para la orden de compra
buyCondition = rsi < buyLevel
closeBuyCondition = rsi > takeProfitLevelBuy

// Trailing Stop para las posiciones de venta
if strategy.position_size < 0
    if low < trailingStopPrice
        trailingStopPrice := low
    strategy.exit("Sell", "Sell", trail_offset = trailingStopOffset * syminfo.mintick, trail_price = trailingStopPrice)

// Trailing Stop para las posiciones de compra
if strategy.position_size > 0
    if high > trailingStopPrice
        trailingStopPrice := high
    strategy.exit("Buy", "Buy", trail_offset = trailingStopOffset * syminfo.mintick, trail_price = trailingStopPrice)

// Ejecutar orden de venta
if (sellCondition)
    strategy.entry("Sell", strategy.short, qty = positionSize)
    trailingStopPrice := high

// Cerrar orden de venta
if (closeSellCondition)
    strategy.close("Sell")

// Ejecutar orden de compra
if (buyCondition)
    strategy.entry("Buy", strategy.long, qty = positionSize)
    trailingStopPrice := low

// Cerrar orden de compra
if (closeBuyCondition)
    strategy.close("Buy")


Lebih lanjut