Strategi perdagangan tarik balik trend berdasarkan penunjuk RSI


Tarikh penciptaan: 2023-09-13 15:33:26 Akhirnya diubah suai: 2023-09-13 15:33:26
Salin: 0 Bilangan klik: 686
1
fokus pada
1617
Pengikut

Strategi ini dinamakan strategi perdagangan penyesuaian trend berdasarkan RSI. Strategi ini menggunakan RSI untuk menilai keadaan overbought dan oversold, dan digabungkan dengan parameter pengoptimuman untuk melakukan perdagangan penyesuaian trend untuk tujuan menangkap pembalikan tempatan dalam trend yang kuat.

Penunjuk RSI menentukan sama ada harga terlalu beli atau terlalu banyak dijual. RSI lebih tinggi daripada 70 menandakan terlalu beli, dan lebih rendah daripada 30 menandakan terlalu banyak dijual. Strategi ini menghasilkan isyarat jual apabila RSI mencapai 96, dan membeli apabila RSI jatuh 4. Parameter ini, setelah dioptimumkan, lebih sesuai untuk menangkap perubahan sementara dalam trend yang kuat daripada parameter RSI tradisional.

Selepas masuk, strategi menggunakan mekanisme hentian hentian. Apabila RSI naik ke 80 selepas pembalikan, hentian hentian hentian hentian, apabila RSI turun ke 20 hentian hentian hentian, berkesan mengunci keuntungan rebound. Selain itu, penggunaan hentian hentian yang dijejaki memastikan keselamatan utama selepas masuk.

Kelebihan strategi ini adalah menggunakan penunjuk RSI yang sensitif untuk menangkap perubahan dan perubahan sementara dalam trend, meningkatkan keberkesanan strategi melalui pengoptimuman parameter dan hentian hentian. Tetapi tidak ada penunjuk tunggal yang sempurna dan perlu digunakan bersama-sama dengan trend dan analisis rintangan sokongan.

Secara keseluruhan, RSI adalah alat penilaian yang mudah dan praktikal. Dengan pengoptimuman parameter dan pengurusan risiko yang ketat, ia dapat meningkatkan keberkesanannya dalam perdagangan penyesuaian trend. Tetapi pedagang masih perlu mengekalkan fleksibiliti untuk menyesuaikan strategi, kerana parameter yang berbeza diperlukan di pasaran yang berbeza.

Kod sumber strategi
/*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")