Die Strategie verwendet die Kreuzung der beiden beweglichen Durchschnittswerte am 20. und am 50. Tag als Haupthandelssignal und die zweite Bestätigung des Handelssignals in Kombination mit dem RSI und dem Zufallsindikator als Hilfsentscheidung. Darüber hinaus verwendet die Strategie die ATR als Grundlage für Stop-Loss- und Stop-Stops, um die Gewinne mit festen Risiken gegenüber den Stellungen zu verwalten und zu versuchen, stabile Gewinne zu erzielen, während das Risiko kontrolliert wird.
Die Strategie ist eine Short-Line-Trading-Strategie, die auf doppelter Gewichtung, RSI und Zufallsindikatoren basiert. Die gemeinsame Bestätigung mehrerer technischer Indikatoren hilft, das Handelsrisiko zu kontrollieren, während die Trendchancen zu nutzen sind. Die Strategie ist klar und die Parameter sind leicht zu optimieren und sind für Investoren geeignet, die Short-Line-Handel betreiben.
/*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)