Estrategia inteligente de enfriamiento con espuma

RSI VOLUME momentum
Fecha de creación: 2025-10-16 14:38:54 Última modificación: 2025-10-16 14:38:54
Copiar: 7 Número de Visitas: 192
2
Seguir
319
Seguidores

Estrategia inteligente de enfriamiento con espuma Estrategia inteligente de enfriamiento con espuma

¿Cuál es la estrategia de los dioses de la guerra?

¿Sabes? esta estrategia es como un “bubble detective” súper tranquilo! cuando el mercado sube como una locura, no sigue el viento, sino que espera pacientemente el momento en que la burbuja se rompa. es como ver a un hombre en su círculo de amigos que se enriquece como un loco, y sabes que pronto podría estar “en bancarrota”.

La lógica central de la política ha sido revelada

¡Acentrarse en las cosas!La estrategia tiene dos momentos de entrada muy inteligentes:

  1. Modo de refrigeración de la espumaLa estrategia se marca como “burbuja” cuando el RSI se eleva por encima de 70 o cuando el volumen de transacciones se multiplica por 1,5, y luego se espera pacientemente que el RSI vuelva por debajo de 60 antes de considerar la apertura de la posición
  2. Nuevo modelo de trampa altaCuando los precios alcanzan un máximo de 20 ciclos sin señales de burbuja, se puede hacer una brecha directa.

Es como esperar el autobús, no todos los vagones deben subir, ¡esperar el grupo correcto!

¿Cuántas vacas están bajo control de riesgo?

¡Ha llegado la guía de la fosa!La parte más poderosa de esta estrategia es su sistema de alerta:

  • Si ya estás haciendo un vacío y de repente te das cuenta de que está volviendo a burbujas, ¡corre de inmediato!
  • El stop-loss es de 2%, el stop-loss es de 6%, el riesgo-beneficio es de 1:3. La expectativa matemática es muy buena.
  • Hay una “zona de no vaciado” para evitar operaciones en momentos de peligro.

La interfaz visual es muy amigable.

¡El gráfico de esta estrategia es mejor que el de un iPhone!

  • El fondo es de color naranja = Se está formando una burbuja, no se puede entrar.
  • Con el fondo azul = Zona vacía después de la burbuja, la oportunidad llegó 💙
  • El fondo rojo = Zona prohibida para hacer vacío, la honestidad espera
  • Los iconos pequeños que marcan los puntos clave son visibles desde el primer vistazo.

¿Cuál es el tipo de persona que te conviene?

Si usted es uno de estos comerciantes, esta estrategia está hecha a medida para usted:

  • No le gusta a los racionales perseguir a los que han caído.
  • Los inversionistas de valor que creen que “cuando se gana, se pierde”
  • La gente inteligente que prefiere mantener la calma cuando los demás son codiciosos

¡Recuerda: el mercado nunca se queda sin oportunidades, lo que falta es la sabiduría de la paciencia para esperar la oportunidad!

Código Fuente de la Estrategia
/*backtest
start: 2025-09-15 00:00:00
end: 2025-10-14 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":500000}]
*/

//@version=5
strategy("Pump-Smart Shorting Strategy", overlay=true)

// Inputs
lookbackPeriod = input.int(20, "Lookback Period for New High", minval=5)
minProfitPerc  = input.float(0.02, "Take Profit %", minval=0.001)
stopLossPerc   = input.float(0.06, "Stop Loss %", minval=0.001)
hedgeTokens    = input.int(1, "Hedge Tokens")

// Pump detection inputs
rsiPeriod = input.int(14, "RSI Period")
rsiHigh   = input.float(70, "Pump RSI ≥")
rsiCool   = input.float(60, "Pump cool-off RSI ≤")
volMult   = input.float(1.5, "Volume Pump Multiplier")
pctUp     = input.float(0.05, "1-bar Up % for Pump")
barsWait  = input.int(0, "Bars to wait after pump ends", minval=0, maxval=10)

// Tech
rsi = ta.rsi(close, rsiPeriod)
avgVol = ta.sma(volume, 20)
oneBarUp = (close - close[1]) / close[1]

// Pump on if any strong up-move pattern
pumpOn = (rsi >= rsiHigh) or (volume > avgVol * volMult and oneBarUp > pctUp)

// Track pump state with var and transitions
var bool wasPump = false
pumpStart = not wasPump and pumpOn
pumpEnd   = wasPump and not pumpOn

// Update state each bar
wasPump := pumpOn

// Count bars since pump ended
var int barsSincePumpEnd = 10000
barsSincePumpEnd := pumpEnd ? 0 : math.min(10000, barsSincePumpEnd + 1)

// Define "pump ended and cooled" condition
cooled = (rsi <= rsiCool) and (oneBarUp <= pctUp/2 or volume <= avgVol * (volMult * 0.8))

// Immediate short signal when pump finishes and cooled (with optional wait)
shortAfterPump = (barsSincePumpEnd >= barsWait) and cooled and not pumpOn and strategy.position_size == 0

// Also allow shorts on fresh new highs when not pumping (optional, keep for more entries)
isNewHigh = high > ta.highest(high, lookbackPeriod)[1]
shortOnPeak = isNewHigh and not pumpOn and strategy.position_size == 0

// Define conditions where we DON'T short (for red background)
noShortZone = pumpOn or (isNewHigh and pumpOn) or (barsSincePumpEnd < barsWait) or not cooled

// Preemptive close if pump turns on while short
var float shortEntry = na
inShort = strategy.position_size < 0 and not na(shortEntry)
if inShort and pumpOn
    strategy.close("Short")
    shortEntry := na

// Entry rules: short either right after pump ends OR on new high when not pumping
if (shortAfterPump or shortOnPeak) and strategy.position_size == 0
    strategy.entry("Short", strategy.short, qty=hedgeTokens)
    shortEntry := na

// Track entry price
if strategy.position_size < 0 and na(shortEntry)
    shortEntry := strategy.position_avg_price
if strategy.position_size == 0
    shortEntry := na
inShort := strategy.position_size < 0 and not na(shortEntry)

// TP/SL
tp = shortEntry * (1 - minProfitPerc)
sl = shortEntry * (1 + stopLossPerc)
exitTP = inShort and close <= tp
exitSL = inShort and close >= sl
if exitTP
    strategy.close("Short")
if exitSL
    strategy.close("Short")

// Visuals - REMOVED TEXT FROM ARROWS
plotshape(pumpStart, style=shape.circle, color=color.orange, location=location.abovebar, size=size.tiny)
plotshape(pumpEnd, style=shape.circle, color=color.teal, location=location.abovebar, size=size.tiny)
plotshape(shortAfterPump, style=shape.triangledown, color=color.blue, location=location.abovebar, size=size.small)
plotshape(shortOnPeak, style=shape.triangledown, color=color.red, location=location.abovebar, size=size.tiny)

plot(inShort ? shortEntry : na, color=color.blue, linewidth=2, title="Short Entry")
plot(inShort ? tp : na, color=color.green, linewidth=2, title="TP")
plot(inShort ? sl : na, color=color.red, linewidth=2, title="SL")

// Background colors - ADDED RED NO-SHORT ZONES
bgcolor(pumpOn ? color.new(color.orange, 92) : na, title="Pump Zone")
bgcolor(shortAfterPump ? color.new(color.blue, 92) : na, title="Post-Pump Short Zone")
bgcolor(noShortZone and not pumpOn ? color.new(color.red, 95) : na, title="No Short Zone")