RSI Moving Average Strategi Ganda Cross Oscillation

Penulis:ChaoZhang, Tarikh: 2024-02-23 14:07:43
Tag:

img

Ringkasan

RSI Moving Average Double Cross Oscillation adalah strategi perdagangan kuantitatif yang menggunakan kedua-dua persilangan penunjuk RSI dan purata bergerak untuk menentukan kemasukan dan keluar. Ia menggunakan penunjuk RSI untuk menilai sama ada pasaran terlalu banyak dibeli atau terlalu banyak dijual, digabungkan dengan penghakiman trend purata bergerak, untuk mengeluarkan isyarat perdagangan apabila RSI menunjukkan keadaan yang melampau. Ini dapat menapis isyarat palsu dengan berkesan dan meningkatkan kestabilan strategi.

Logika Strategi

Strategi ini terutamanya berdasarkan penggunaan gabungan penunjuk RSI dan purata bergerak. Pertama, mengira nilai RSI dalam tempoh tertentu dan menetapkan garis overbought / oversold. Kedua, mengira purata bergerak cepat dan perlahan. Apabila RSI melintasi di atas purata bergerak perlahan, sementara nilai RSI di bawah garis oversold dan band bawah, isyarat beli dihasilkan; Apabila RSI melintasi di bawah purata bergerak perlahan, sementara RSI di atas garis overbought dan band atas, isyarat jual dihasilkan.

Analisis Kelebihan

Kelebihan terbesar strategi ini adalah bahawa ia menggunakan kedua-dua penunjuk RSI untuk menilai keadaan overbought / oversold dan purata bergerak untuk menentukan arah trend, yang secara berkesan dapat mengelakkan pecah palsu.

Analisis Risiko

Risiko utama strategi ini mungkin termasuk: kekerapan perdagangan yang tinggi yang membawa kepada perdagangan berlebihan; tetapan parameter yang tidak betul boleh mengurangkan ketepatan isyarat.

Pengoptimuman

Pertimbangkan untuk menyesuaikan RSI atau parameter purata pergerakan untuk menyesuaikan kitaran yang berbeza; Gabungkan dengan penunjuk lain untuk menapis isyarat; Tetapkan stop loss dan ambil keuntungan untuk mengawal risiko; Mengoptimumkan saiz kedudukan pada setiap perdagangan.

Kesimpulan

Secara amnya, RSI moving average double cross oscillation strategy adalah strategi perdagangan jangka pendek yang agak stabil dan boleh dipercayai. Dengan penyesuaian parameter dan kawalan risiko yang betul, ia dapat mencapai pulangan pelaburan yang baik. Strategi ini mudah difahami dan dilaksanakan, sangat sesuai untuk pemula untuk belajar dan menerapkan perdagangan kuantitatif.


/*backtest
start: 2024-01-23 00:00:00
end: 2024-02-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("RSI slowma Ismael", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Definir la longitud del RSI
rsi_length = input(title='RSI Length', defval=14)

//media 
Fast = input(title='Fast', defval=7)
slow = input(title='Slow', defval=2)

// Definir los niveles de sobrecompra y sobreventa del RSI
rsi_overbought = input(title='RSI Overbought Level', defval=72)
rsi_oversold = input(title='RSI Oversold Level', defval=29)

// Definir la longitud y la desviación estándar de las Bandas de Bollinger
bb_length = input(title="Bollinger Bands Length", defval=14)
bb_stddev = input(title="Bollinger Bands StdDev", defval=2)

// Calcular RSI
rsi_value = ta.rsi(close, rsi_length)

// Calcular Bandas de Bollinger
bb_upper = ta.sma(rsi_value, bb_length) + bb_stddev* ta.stdev(rsi_value, bb_length)
bb_lower = ta.sma(rsi_value, bb_length) - bb_stddev * ta.stdev(rsi_value, bb_length)

//media movil adelantada
fastMA = ta.sma(rsi_value, Fast)
slowMA = ta.sma(rsi_value, slow)

// Definir la señal de compra y venta
buy_signal = (ta.crossover(rsi_value, slowMA) and rsi_value < bb_lower and rsi_value < rsi_oversold) or (rsi_value < bb_lower and rsi_value < rsi_oversold)
sell_signal = (ta.crossunder(rsi_value, slowMA) and rsi_value > bb_upper and rsi_value > rsi_overbought) or (rsi_value > bb_upper and rsi_value > rsi_overbought)

// Configurar las condiciones de entrada y salida del mercado
if buy_signal
    strategy.entry("Buy", strategy.long)

if sell_signal
    strategy.close("Buy")

// Configurar el stop loss y el take profit
stop_loss = input.float(title='Stop Loss (%)', step=0.01, defval=3)
take_profit = input.float(title='Take Profit (%)', step=0.01, defval=8)

strategy.exit("Exit Long", "Buy", stop=close - close * stop_loss / 100, limit=close + close * take_profit / 100)

// Configurar la visualización del gráfico
plot(slowMA, title='RSISMA', color=color.rgb(75, 243, 33), linewidth=1)
plot(fastMA, title='RSIFMA', color=color.rgb(75, 243, 33), linewidth=1)
plot(rsi_value, title='RSI', color=color.purple, linewidth=1)

// Marcar las zonas de sobrecompra y sobreventa en el grafico del RSI
hl= hline(rsi_overbought, title='Overbought', color=color.purple, linestyle=hline.style_dotted, linewidth=1)
hll= hline(rsi_oversold, title='Oversold', color=color.purple, linestyle=hline.style_dotted, linewidth=1)
fill(hl,hll, color= color.new(color.purple, 91))

bbfill = plot(bb_upper, title='Bollinger Bands up', color=color.blue, linewidth=1)
bbfill1= plot(bb_lower, title='Bollinger Bands down', color=color.blue, linewidth=1)
fill(bbfill,bbfill1, color= color.new(#2bb5ec, 91))


Lebih lanjut