Estrategia de ruptura de impulso

El autor:¿ Qué pasa?, Fecha: 2024-01-18 15:17:11
Las etiquetas:

img

Resumen general

Esta estrategia combina las líneas EMA, el indicador MACD y la ganancia de un solo día para identificar las señales de avance del mercado e implementar una estrategia de negociación de impulso para comprar bajo y vender alto.

Principio de la estrategia

Cuando la línea EMA rápida cruza la línea EMA lenta, se considera que el mercado está en una tendencia al alza y se genera una señal de compra.

Además, si el precio de cierre de un solo día sube más del 10% en comparación con el precio de apertura, también se generará una señal de compra para perseguir la tendencia de ruptura del mercado.

Después de abrir posiciones, si el precio cae más del 10%, se activará el stop loss. Si el beneficio alcanza el 45%, se activará el take profit.

Análisis de ventajas

Esta es una estrategia típica de tendencia que puede capturar la tendencia alcista después de un fuerte avance de impulso, con un gran potencial de ganancia.

  1. Las líneas de la EMA aplican el juicio de tendencia para evitar la apertura de posiciones durante la consolidación del mercado.
  2. El indicador MACD garantiza señales de compra más confiables.
  3. La condición de ganancia de un solo día captura el brote de tendencia.
  4. Las configuraciones razonables de stop loss y take profit ayudan a controlar los riesgos.

Análisis de riesgos

Aunque esté diseñado razonablemente, todavía existen algunos riesgos:

  1. Un juicio incorrecto de la señal de avance puede conducir a pérdidas cortas.
  2. La recuperación del mercado también puede generar señales falsas.
  3. El ajuste de stop loss de gran tamaño aumenta el riesgo de pérdida.
  4. Una tendencia de seguimiento insuficiente después del avance puede dar lugar a un beneficio insuficiente.

Para reducir los riesgos anteriores, podemos considerar optimizar la estrategia de stop loss móvil o agregar otros indicadores como el volumen a las señales de filtro.

Direcciones de optimización

Todavía hay espacio para una mayor optimización:

  1. Añadir un indicador de volumen para garantizar un volumen de operaciones suficiente para apoyar la tendencia.
  2. Optimizar los parámetros del MACD para mejorar la sensibilidad del indicador.
  3. Prueba diferentes combinaciones de períodos de EMA.
  4. Añadir el mecanismo de stop loss adaptativo.
  5. Optimizar los puntos de ganancia para una gestión más eficiente del dinero.

A través del ajuste de parámetros, la combinación de indicadores y otros métodos, la estabilidad y la rentabilidad de esta estrategia pueden mejorarse en gran medida.

Conclusión

En general, esta estrategia es simple, práctica y con un gran potencial de ganancias. Al juzgar los puntos de avance del mercado, puede capturar efectivamente las tendencias alcistas, y el control de descenso también es razonable. En la optimización futura, mejorar continuamente el ajuste de parámetros y el diseño de stop loss / take profit puede convertirlo en una estrategia comercial cuantitativa a largo plazo que vale la pena.


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

//@version=3
strategy("Alt Coins", overlay=true)

//Simple Alt Coin Trading Strategy//
// by @ShanghaiCrypto //

////EMA////
fastLength = input(5)
slowLength = input(12)
baseLength = input(50)
price = close

emafast = ema(price, fastLength)
emaslow = ema(price, slowLength)
emabase = ema(price, baseLength)

///MACD////
MACDLength = input(9)
MACDfast = input(12)
MACDslow = input(26)
MACD = ema(close, MACDfast) - ema(close, MACDslow)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

////PUMP////
OneCandleIncrease = input(10, title='Gain %')
pump = OneCandleIncrease/100

////Profit Capture and Stop Loss//////
stop = input(10.0, title='Stop Loss %', type=float)/100
profit = input(45.0, title='Profit %', type=float)/100
stop_level = strategy.position_avg_price * (1 - stop)
take_level = strategy.position_avg_price * (1 + profit)

////Entries/////
if crossover(emafast, emaslow)
    strategy.entry("Cross", strategy.long, comment="BUY")

if (crossover(delta, 0))
    strategy.entry("MACD", strategy.long, comment="BUY")
    
if close > (open + open*pump)
    strategy.entry("Pump", strategy.long, comment="BUY")

/////Exits/////
strategy.exit("SELL","Cross", stop=stop_level, limit=take_level)
strategy.exit("SELL","MACD", stop=stop_level, limit=take_level)
strategy.exit("SELL","Pump", stop=stop_level, limit=take_level)

////Plots////
plot(emafast, color=green)
plot(emaslow, color=red)
plot(emabase, color=yellow)
plot(take_level, color=blue)
plot(stop_level, color=orange)

Más.