
La estrategia es un sistema de negociación híbrido que combina varios indicadores de análisis técnico. Se basa principalmente en el sistema de medias lineal (EMA) para determinar la tendencia del mercado, mientras que se combina con el nivel de resistencia de soporte (SR) como señal de entrada y se utiliza la amplitud de fluctuación real (ATR) para el control de riesgo. La estrategia adopta una configuración de stop loss dinámica que puede adaptarse a la volatilidad del mercado para ajustar la posición de stop loss.
La estrategia opera sobre la base de los siguientes componentes centrales:
Optimización de la filtración de señales
Optimización de la gestión de posiciones
Optimización de pérdidas
La estrategia combina varios métodos de análisis técnico avanzados para construir un sistema de negociación completo. Su principal ventaja reside en la adaptabilidad del sistema y la capacidad de controlar el riesgo. A través de la optimización y el perfeccionamiento continuos, la estrategia espera mantener un rendimiento estable en diferentes entornos de mercado.
/*backtest
start: 2024-02-18 00:00:00
end: 2025-02-16 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Multi-Strategy Trader v1 by SUNNY GUHA +91 9836021040 / www.oiesu.com", overlay=true)
// Basic Inputs
supResLookback = input.int(9, "Support/Resistance Lookback")
atrPeriod = input.int(14, "ATR Period")
stopMultiplier = input.float(10.0, "Stop Loss ATR Multiplier")
// Technical Indicators
atr = ta.atr(atrPeriod)
highestHigh = ta.highest(high, supResLookback)
lowestLow = ta.lowest(low, supResLookback)
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
// Basic Strategy Rules
isTrending = math.abs(ema20 - ema50) > atr
longSignal = close > highestHigh[1] or (isTrending and ema20 > ema50 and close > ema20)
shortSignal = close < lowestLow[1] or (isTrending and ema20 < ema50 and close < ema20)
// Entry Logic
if longSignal and strategy.position_size <= 0
strategy.entry("Long", strategy.long)
if shortSignal and strategy.position_size >= 0
strategy.entry("Short", strategy.short)
// Stop Loss Logic
longStopPrice = close - (atr * stopMultiplier)
shortStopPrice = close + (atr * stopMultiplier)
// Exit Logic
if strategy.position_size > 0
strategy.exit("Long Exit", "Long", stop=longStopPrice)
if strategy.position_size < 0
strategy.exit("Short Exit", "Short", stop=shortStopPrice)
// Basic Plotting
plot(ema20, "EMA 20", color.blue)
plot(ema50, "EMA 50", color.red)