
La estrategia es un sistema de negociación integrado que combina las medias móviles multi-periódicas, las señales de sobreventa y sobreventa del RSI y la identificación de las formas de los precios. La estrategia se basa en la determinación de las zonas de sobreventa y sobreventa del indicador RSI a través de cruces de medias móviles rápidas y lentas, así como en la captura de los puntos de inflexión de las tendencias del mercado a través de la absorción de las formas de la oscuridad y la oscuridad. La estrategia utiliza la gestión de posiciones por porcentaje, con un 10% de capital de cuenta por defecto en cada operación, lo que ayuda a lograr un mejor control del riesgo.
La lógica central de la estrategia se basa en los siguientes elementos clave:
Se trata de una estrategia de trading de análisis técnico integral, diseñada de manera razonable y lógica. Al combinar varios indicadores técnicos y formas de precios, la estrategia garantiza la fiabilidad de la señal y, al mismo tiempo, logra un mejor control del riesgo. Aunque existen algunas limitaciones inherentes, el rendimiento general de la estrategia se espera que se mejore aún más mediante la dirección de optimización recomendada.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-04 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Comprehensive Trading Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Input parameters for moving averages
fastLength = input.int(9, title="Fast MA Length")
slowLength = input.int(21, title="Slow MA Length")
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")
// Calculate moving averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)
// Calculate RSI
rsi = ta.rsi(close, rsiLength)
// Detect price action patterns (e.g., engulfing patterns)
isBullishEngulfing = close > open and close[1] < open[1] and open < close[1] and close > open[1]
isBearishEngulfing = close < open and close[1] > open[1] and open > close[1] and close < open[1]
// Define conditions for buying and selling
buyCondition = ta.crossover(fastMA, slowMA) and rsi < rsiOversold or isBullishEngulfing
sellCondition = ta.crossunder(fastMA, slowMA) and rsi > rsiOverbought or isBearishEngulfing
// Execute buy and sell orders
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.entry("Sell", strategy.short)
// Plotting
plot(fastMA, color=color.blue, linewidth=2, title="Fast MA")
plot(slowMA, color=color.orange, linewidth=2, title="Slow MA")
hline(rsiOverbought, "RSI Overbought", color=color.red)
hline(rsiOversold, "RSI Oversold", color=color.green)
plot(rsi, color=color.purple, linewidth=1, title="RSI")
// Alert conditions
alertcondition(buyCondition, title="Buy Signal", message="Price meets buy criteria")
alertcondition(sellCondition, title="Sell Signal", message="Price meets sell criteria")
// Plot signals on chart
plotshape(series=buyCondition ? low : na, location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small, title="Buy Signal")
plotshape(series=sellCondition ? high : na, location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small, title="Sell Signal")