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.
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.
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.
Risiko utama strategi ini mungkin termasuk: kekerapan perdagangan yang tinggi yang membawa kepada perdagangan berlebihan; tetapan parameter yang tidak betul boleh mengurangkan ketepatan isyarat.
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.
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))