
Strategi ini menggabungkan crossover dua rata-rata, RSI dan indikator acak, mencari peluang perdagangan yang tinggi dalam perdagangan garis pendek melalui konfirmasi bersama dari beberapa indikator teknis. Strategi ini menggunakan crossover dua rata-rata bergerak pada tanggal 20 dan 50 sebagai sinyal perdagangan utama, sementara menggabungkan RSI dan indikator acak sebagai penilaian tambahan, untuk melakukan konfirmasi kedua pada sinyal perdagangan. Selain itu, strategi ini juga menggunakan ATR sebagai dasar stop loss dan stop loss, mengelola posisi dengan risiko tetap dibandingkan dengan keuntungan, berusaha untuk mendapatkan keuntungan yang stabil sambil mengendalikan risiko.
Strategi ini adalah strategi perdagangan short-line yang didasarkan pada indikator biner, RSI, dan acak, dengan pengakuan bersama dari beberapa indikator teknis, untuk mengendalikan risiko perdagangan sambil menangkap peluang tren. Strategi ini memiliki logika yang jelas, parameter yang mudah dioptimalkan, dan cocok untuk digunakan oleh investor yang melakukan perdagangan short-line. Namun, strategi ini juga memiliki beberapa kelemahan, seperti kemampuan untuk menangkap tren yang terbatas, kurangnya manajemen posisi dan modal yang dinamis, dll.
/*backtest
start: 2024-05-17 00:00:00
end: 2024-06-16 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Cruce de Medias con Filtros de RSI y Estocástico", overlay=true)
// Definir parámetros de las medias móviles
fast_length = input(20, title="Periodo de Media Rápida")
slow_length = input(50, title="Periodo de Media Lenta")
// Calcular medias móviles
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)
// Añadir filtro RSI
rsi_length = input(7, title="Periodo del RSI")
rsi = ta.rsi(close, rsi_length)
rsi_overbought = input(70, title="RSI Sobrecomprado")
rsi_oversold = input(30, title="RSI Sobrevendido")
// Añadir filtro Estocástico
k_period = input(7, title="K Periodo del Estocástico")
d_period = input(3, title="D Periodo del Estocástico")
smooth_k = input(3, title="Suavización del Estocástico")
stoch_k = ta.sma(ta.stoch(close, high, low, k_period), smooth_k)
stoch_d = ta.sma(stoch_k, d_period)
stoch_overbought = input(80, title="Estocástico Sobrecomprado")
stoch_oversold = input(20, title="Estocástico Sobrevendido")
// Definir niveles de stop-loss y take-profit con ratio 2:1
risk = input(1, title="Riesgo en ATR")
reward_ratio = input(2, title="Ratio Riesgo/Beneficio")
atr_length = input(14, title="Periodo del ATR")
atr = ta.atr(atr_length)
stop_loss = risk * atr
take_profit = reward_ratio * stop_loss
// Señal de compra
long_condition = ta.crossover(fast_ma, slow_ma) and rsi < rsi_overbought and stoch_k < stoch_overbought
if (long_condition)
strategy.entry("Compra", strategy.long)
// Señal de venta
short_condition = ta.crossunder(fast_ma, slow_ma) and rsi > rsi_oversold and stoch_k > stoch_oversold
if (short_condition)
strategy.entry("Venta", strategy.short)
// Configurar Stop-Loss y Take-Profit para posiciones largas
if (strategy.position_size > 0)
strategy.exit("Take Profit/Stop Loss", from_entry="Compra", stop=low - stop_loss, limit=high + take_profit)
// Configurar Stop-Loss y Take-Profit para posiciones cortas
if (strategy.position_size < 0)
strategy.exit("Take Profit/Stop Loss", from_entry="Venta", stop=high + stop_loss, limit=low - take_profit)
// Plotear las medias móviles en el gráfico
plot(fast_ma, title="Media Rápida (50)", color=color.blue)
plot(slow_ma, title="Media Lenta (200)", color=color.red)
// Plotear RSI y Estocástico en subgráficos
hline(rsi_overbought, "RSI Sobrecomprado", color=color.red)
hline(rsi_oversold, "RSI Sobrevendido", color=color.green)
plot(rsi, title="RSI", color=color.orange, linewidth=2)
hline(stoch_overbought, "Estocástico Sobrecomprado", color=color.red)
hline(stoch_oversold, "Estocástico Sobrevendido", color=color.green)
plot(stoch_k, title="Estocástico K", color=color.purple, linewidth=2)
plot(stoch_d, title="Estocástico D", color=color.purple, linewidth=1, style=plot.style_stepline)