Estrategia de trading cuantitativo de ganancias no realizadas relativas de EMA100 y NUPL

EMA
Fecha de creación: 2024-06-17 14:55:13 Última modificación: 2024-06-17 14:55:13
Copiar: 0 Número de Visitas: 575
1
Seguir
1617
Seguidores

Estrategia de trading cuantitativo de ganancias no realizadas relativas de EMA100 y NUPL

Descripción general

La estrategia de negociación se basa en la media móvil del índice de 100 ciclos (EMA100), el beneficio/pérdida neto no alcanzado (NUPL) y los tres indicadores de beneficio relativo no alcanzado, para generar una señal de negociación al juzgar el cruce de los precios con EMA100 y el negativo de los NUPL y el beneficio relativo no alcanzado. Se activa una señal múltiple cuando el precio se cruza por encima de EMA100 y el NUPL y el beneficio relativo no alcanzado son positivos; se activa una señal de vacío cuando el precio se cruza por debajo de EMA100 y el NUPL y el beneficio relativo no alcanzado son negativos. La estrategia utiliza una posición fija del 10% y establece un stop loss del 10%.

Principio de estrategia

  1. Calcular el EMA de 100 ciclos como el indicador de tendencia principal
  2. Utilización de la NUPL y el beneficio relativo no alcanzado como indicadores auxiliares para confirmar la fuerza y la sostenibilidad de la tendencia
  3. Al mismo tiempo que el precio pasa por encima/por debajo de EMA100, el NUPL y la ganancia no alcanzada relativa generan señales de hacer más/cortar al mismo tiempo para positivos/negativos
  4. Utiliza un 10% de posición fija y establece un 10% de stop loss para controlar el riesgo
  5. Cuando se mantiene una posición de más cabeza, se cancela la posición de más cabeza si el precio cae por encima del precio de pérdida; cuando se mantiene una posición de más cabeza, se cancela la posición de más cabeza si el precio sale por encima del precio de pérdida

Análisis de las ventajas

  1. Sencillo y fácil de entender: la estrategia tiene una lógica clara, utiliza indicadores técnicos comunes, es fácil de entender y de implementar
  2. Seguimiento de tendencias: captura las principales tendencias a través de EMA100, adecuado para su uso en mercados de tendencias
  3. Control de riesgo: establezca posiciones fijas y paradas para controlar el riesgo de manera efectiva
  4. Adaptabilidad: La estrategia puede aplicarse a diferentes mercados y indicadores de negociación

Análisis de riesgos

  1. Falso: en un mercado convulso, el precio puede cruzar con frecuencia con el EMA100, lo que puede generar más falsas señales y causar pérdidas
  2. Retraso: EMA como indicador de retraso, puede reaccionar lentamente cuando la tendencia se vuelve, perdiendo el mejor momento de entrada
  3. Optimización de parámetros: los parámetros de la estrategia (como el ciclo EMA, el tamaño de la posición y el porcentaje de pérdidas) necesitan ser optimizados para diferentes mercados, y los parámetros inadecuados pueden causar una estrategia ineficaz

Dirección de optimización

  1. Optimización de parámetros: optimización de parámetros como el ciclo EMA, el tamaño de la posición y el porcentaje de pérdida para mejorar el rendimiento de la estrategia
  2. Señales de filtro: añadir otros indicadores técnicos o de sentimiento del mercado para filtrar falsas señales
  3. Gestión de posiciones dinámicas: ajuste de posiciones de forma dinámica en función de factores como la volatilidad del mercado y las pérdidas y ganancias de las cuentas, para mejorar los beneficios y controlar el riesgo
  4. Portfolio multi-volatilidad: posiciones con múltiples y vacantes al mismo tiempo, para cubrir el riesgo del mercado y mejorar la estabilidad estratégica

Resumir

La estrategia de negociación genera señales de negociación a través de EMA100, NUPL y tres indicadores de rentabilidad relativamente no alcanzada, con ventajas como claridad lógica, control de riesgo y adaptabilidad. También existe el riesgo de falsas señales, atraso y optimización de parámetros. En el futuro, la estrategia se puede optimizar y mejorar a través de optimización de parámetros, filtración de señales, administración de posiciones dinámicas y combinación de múltiples espacios.

Código Fuente de la Estrategia
/*backtest
start: 2023-06-11 00:00:00
end: 2024-06-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Scalping Strategy with EMA 100, NUPL, and Relative Unrealized Profit", overlay=true)

// Input for EMA period
emaPeriod = input.int(100, title="EMA Period", minval=1)
ema100 = ta.ema(close, emaPeriod)
plot(ema100, color=color.blue, title="EMA 100")

// Placeholder function for NUPL (Net Unrealized Profit/Loss)
// Replace this with actual NUPL data or calculation
NUPL = close * 0.0001 // Dummy calculation

// Placeholder function for relative unrealized profit
// Replace this with actual relative unrealized profit data or calculation
relativeUnrealizedProfit = close * 0.0001 // Dummy calculation

// Define conditions for long and short entries
longCondition = ta.crossover(close, ema100) and NUPL > 0 and relativeUnrealizedProfit > 0
shortCondition = ta.crossunder(close, ema100) and NUPL < 0 and relativeUnrealizedProfit < 0

// Plot buy and sell signals on the chart
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")

// Calculate stop loss levels
longStopLoss = close * 0.90
shortStopLoss = close * 1.10

// Strategy entry and exit rules
if (longCondition)
    strategy.entry("Long", strategy.long, stop=longStopLoss)

if (shortCondition)
    strategy.entry("Short", strategy.short, stop=shortStopLoss)

// Set stop loss levels for active positions
if (strategy.position_size > 0)
    strategy.exit("Exit Long", "Long", stop=longStopLoss)
if (strategy.position_size < 0)
    strategy.exit("Exit Short", "Short", stop=shortStopLoss)

// Alerts for long and short entries
alertcondition(longCondition, title="Long Entry Alert", message="Long entry signal based on EMA 100, NUPL, and relative unrealized profit")
alertcondition(shortCondition, title="Short Entry Alert", message="Short entry signal based on EMA 100, NUPL, and relative unrealized profit")

// Visualize the entry conditions
plotshape(series=longCondition, location=location.belowbar, color=color.blue, style=shape.cross, title="Long Condition")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.cross, title="Short Condition")