Estrategia de fuga de un minuto

El autor:¿ Qué pasa?, fecha: 2024-02-19 10:56:07
Las etiquetas:

img

Resumen general

La estrategia de ruptura de 1 minuto de Gem Forest es una estrategia de negociación cuantitativa que tiene como objetivo capturar señales de ruptura dentro de un período de tiempo de 1 minuto para obtener ganancias rápidas.

Estrategia lógica

Esta estrategia utiliza principalmente los siguientes elementos para formar señales comerciales:

  1. Indicador ATR - Calcula el rango medio verdadero para establecer los canales de precios;
  2. Indicadores de medias móviles - Calcular la EMA rápida y la EMA lenta para generar señales de cruz dorada/cruz muerta;
  3. Indicador RSI - Calcular el RSI rápido y lento para determinar el área de sobrecompra/sobreventa;
  4. Relación precio-canal: genera señales comerciales cuando el precio sale de los canales.

Específicamente, la estrategia calcula el promedio de N períodos de ATR, EMA rápido, EMA lento, RSI rápido y RSI lento. Combinando las condiciones de ruptura del canal ATR, cruz dorada de EMA y RSI que alcanzan niveles extremos, la estrategia envía señales de compra o venta.

Análisis de ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. Captura las tendencias de los precios a corto plazo;
  2. Responde rápidamente, adecuado para el comercio de alta frecuencia;
  3. Más fiable con indicadores filtrados múltiples;
  4. Parametric para que los usuarios lo optimicen.

Análisis de riesgos

También hay algunos riesgos:

  1. Los riesgos en el comercio a corto plazo son elevados y se requiere un estricto stop loss.
  2. La optimización incorrecta de los parámetros conduce a un sobreajuste.
  3. La alta frecuencia de negociación aumenta los costos.

Para controlar los riesgos, se debe implementar el stop loss y los parámetros necesitan pruebas de retroceso adecuadas para evitar el sobreajuste.

Direcciones de optimización

La estrategia se puede optimizar mediante:

  1. la configuración de los parámetros de ensayo durante períodos más cortos (5 min, 15 min);

  2. Añadir más indicadores de filtrado como el volumen para mejorar la calidad de la señal;

  3. Optimizar el canal ATR y los parámetros de la media móvil para encontrar las mejores combinaciones de parámetros.

Conclusión

La estrategia de ruptura de 1 minuto de Gem Forest se centra en capturar tendencias a corto plazo mediante el filtrado con múltiples indicadores, con una respuesta rápida y características de alto riesgo-recompensa. Se puede adaptar a las preferencias de riesgo de los usuarios a través de la optimización de parámetros para mejores resultados. Sin embargo, los usuarios deben controlar los riesgos comerciales a través de un estricto stop loss, frecuencias comerciales razonables, etc. En general, esta estrategia es adecuada para los inversores con cierto conocimiento cuantitativo y tolerancia al riesgo para la negociación a corto plazo.


/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Gem Forest 1 Dakika Scalp", overlay=true)

source = close
atrlen = input.int(14, "ATR Period")
mult = input.float(1, "ATR Multi", step=0.1)
smoothing = input.string(title="ATR Smoothing", defval="WMA", options=["RMA", "SMA", "EMA", "WMA"])

ma_function(source, atrlen) => 
    if smoothing == "RMA"
        ta.rma(source, atrlen)
    else
        if smoothing == "SMA"
            ta.sma(source, atrlen)
        else
            if smoothing == "EMA"
                ta.ema(source, atrlen)
            else
                ta.wma(source, atrlen)

atr_slen = ma_function(ta.tr(true), atrlen)
upper_band = atr_slen * mult + close
lower_band = close - atr_slen * mult

ShortEMAlen = input.int(21, "Fast EMA")
LongEMAlen = input.int(65, "Slow EMA")
shortSMA = ta.ema(close, ShortEMAlen)
longSMA = ta.ema(close, LongEMAlen)
RSILen1 = input.int(25, "Fast RSI Length")
RSILen2 = input.int(100, "Slow RSI Length")
rsi1 = ta.rsi(close, RSILen1)
rsi2 = ta.rsi(close, RSILen2)
atr = ta.atr(atrlen)

RSILong = rsi1 > rsi2
RSIShort = rsi1 < rsi2

longCondition = open < lower_band
shortCondition = open > upper_band
GoldenLong = ta.crossover(shortSMA,longSMA)
Goldenshort = ta.crossover(longSMA,shortSMA)

plotshape(shortCondition, title="Sell Label", text="Sell", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.white)
plotshape(longCondition, title="Buy Label", text="Buy", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.white)
plotshape(Goldenshort, title="Golden Sell Label", text="Golden Crossover Short", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.new(color.blue, 0), textcolor=color.white)
plotshape(GoldenLong, title="Golden Buy Label", text="Golden Crossover Long", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.new(color.yellow, 0), textcolor=color.white)

if (longCondition)
    stopLoss = low - atr * 2
    takeProfit = high + atr * 5
    strategy.entry("long", strategy.long)

if (shortCondition)
    stopLoss = high + atr * 2
    takeProfit = low - atr * 5
    strategy.entry("short", strategy.short)

plot(upper_band)
plot(lower_band)
plot(shortSMA, color = color.red)
plot(longSMA, color = color.yellow)


Más.