Estrategia de cruce de doble EMA para el seguimiento del impulso

El autor:¿ Qué pasa?, Fecha: 2024-02-26 16:40:29
Las etiquetas:

img

Resumen general

Esta estrategia es una estrategia de negociación algorítmica de tendencia. Cálcula dos líneas EMA con parámetros diferentes y genera señales de negociación cuando ocurren la Cruz Dorada y la Cruz de la Muerte entre las dos EMA. La estrategia también combina múltiples líneas EMA para salir de ganancias y establece puntos de stop loss para controlar los riesgos.

Principio de la estrategia

La estrategia utiliza 4 líneas EMA, incluyendo una EMA rápida y una EMA lenta, cuyo cruce se utiliza para generar señales de compra y venta.

Específicamente, cuando la EMA rápida cruza por encima de la EMA lenta, se genera una señal de compra. Cuando la EMA rápida cruza por debajo de la EMA lenta, se genera una señal de venta. Esta es una típica estrategia de cruce de doble EMA. Para rastrear mejor las tendencias y aumentar la rentabilidad, después de ingresar a una posición, la estrategia saldrá selectivamente parte o la totalidad de la posición cuando la EMA rápida cruce por encima de la segunda línea EMA o cuando la EMA rápida cruce por debajo de la tercera línea EMA.

Además, la estrategia establece puntos de stop loss tanto largos como cortos para evitar pérdidas excesivas, en concreto, el stop loss para las posiciones largas se establece en el 6% del precio de entrada y en el 3% para las posiciones cortas.

Análisis de ventajas

En comparación con una estrategia cruzada típica de doble EMA, las principales ventajas de esta estrategia incluyen:

  1. El establecimiento de múltiples líneas de EMA para la salida de ganancias puede fijar mejor las ganancias y evitar la contracción de las ganancias durante las retrocesos posteriores.

  2. La posición corta tiene un stop loss más pequeño, que puede soportar fluctuaciones normales del mercado más grandes y evitar frecuentes stop loss.

  3. El establecimiento de líneas EMA con diferentes parámetros para la salida de beneficios permite elegir el punto de salida óptimo en función de las condiciones del mercado.

  4. La estrategia general tiene una buena capacidad de seguir tendencias para obtener mayores beneficios de las tendencias a medio y largo plazo.

Análisis de riesgos

Los principales riesgos de esta estrategia incluyen:

  1. En los mercados de rango, las señales de negociación generadas por las líneas de la EMA son frecuentes, lo que puede conducir a un exceso de negociación.

  2. El stop loss corto solo puede prevenir condiciones extremas de mercado y no puede evitar retiros significativos en la cuenta de estrategia.

  3. El riesgo de recortes sigue existiendo y los beneficios pueden reducirse significativamente cuando se produce un ajuste a largo plazo.

  4. La estrategia es sensible al ajuste de parámetros. Una configuración incorrecta puede causar fallas en la estrategia.

Optimización

A la vista de los riesgos mencionados anteriormente, la estrategia puede optimizarse en los siguientes aspectos:

  1. Aumentar los algoritmos de aprendizaje automático para ayudar en el juicio de tendencias y reducir las probabilidades de errores comerciales.

  2. Aumentar el mecanismo de stop loss adaptativo para ajustar dinámicamente el stop loss en función de la volatilidad del mercado.

  3. Establecer la utilización del capital para evitar la ocupación excesiva del capital y aumentar el mecanismo de gestión de la posición.

  4. Seleccionar productos comerciales con tendencias obvias y altas fluctuaciones.

  5. Aumentar el módulo de optimización de parámetros para lograr la optimización automática y la actualización de parámetros.

Conclusión

En general, la estrategia de cruce de doble EMA es una estrategia de seguimiento de tendencias rentable. Tiene ventajas como múltiples líneas EMA para obtener ganancias, pequeñas paradas cortas y una buena capacidad de seguimiento de tendencias. Sin embargo, todavía hay algunos riesgos con esta estrategia. Necesita una mayor optimización de ajuste de parámetros e incorporación de algoritmos de aprendizaje automático para mejorar la estabilidad. En general, esta estrategia es adecuada para los inversores con cierta experiencia comercial para llevar a cabo el comercio de algoritmos.


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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RealTraderAkeme

//@version=5
strategy("AKEME_EMA_CROSS_V6", overlay=true)

////////////////////////////////////////////////////////////PARAMETERS/////////////////////////////////////////////////////////////////
emaFast_op = input(title="Fast_EMA", defval=6)
emaSlow_op = input(title="Slow_EMA", defval=26)
emaExit_op = input(title="Sell_EMA_Exit",defval=10)
emabuyExit_op = input(title="Buy_EMA_Exit",defval=20)
Order_Value = input(defval=1000, title="Order_Value in Pounds") 
Direction_Of_Trade = input(title="Trade Direction", defval="Both")


////////////////////////////////////////////////////////////INPUTS//////////////////////////////////////////////////////////////////

fastEMA = ta.ema(close, emaFast_op)
slowEMA = ta.ema(close,emaSlow_op)
emaExit = ta.ema(close,emaExit_op)
emabuyExit = ta.ema(close,emabuyExit_op)
Entry_Ratio = strategy.openprofit/Order_Value


//////////////////////////////////////////////////////////GRAPHS//////////////////////////////////////////////////////////////////

plot(fastEMA, color=color.orange, linewidth = 2)
plot(slowEMA,color = color.blue, linewidth = 2)
plot(emaExit,color = color.gray, linewidth = 2)
plot(series=emabuyExit, color= color.rgb(210, 74, 235), linewidth=2)


/////////////////////////////////////////////////////Conditions//////////////////////////////////////////////////////////////////////
longOK  = (Direction_Of_Trade == "Long") or (Direction_Of_Trade == "Both")
shortOK = (Direction_Of_Trade == "Short") or (Direction_Of_Trade == "Both")


///////////////////////////////////////////////////////////ENTRIES&EXITS///////////////////////////////////////////////////////////////
longCondition = ta.crossover(fastEMA, slowEMA) and longOK 
if (longCondition)  
    strategy.entry("Buy", strategy.long) 

shortCondition = ta.crossunder(fastEMA, slowEMA) and shortOK
if (shortCondition)
    strategy.entry("Sell", strategy.short)

if (strategy.position_size > 0 and shortCondition)
    strategy.exit(id="exit Buy", stop=close)
    
if (strategy.position_size < 0 and longCondition)
    strategy.exit(id="exit Sell", stop=close)


/////////////////////////////////////////////////////TAKE PROFIT CONDITIONS////////////////////////////////////////////////////////

if  ta.crossunder(fastEMA, emabuyExit) and Entry_Ratio > 0.08333
    strategy.close("Buy",comment = "Exit")

if  ta.crossover(fastEMA, emaExit) and Entry_Ratio > 0.016666
    strategy.close("Sell",comment = "Exit")


if Entry_Ratio > 0.4166666 //0.4166666 
    strategy.close("Buy",comment = "Exit", qty_percent = 100)

if Entry_Ratio > 0.0833333//0.0833333
    strategy.close("Sell",comment = "Exit")//50

if Entry_Ratio > 0.1111111//4000
    strategy.close("Sell",comment = "Exit", qty_percent = 50)

if ta.crossover(fastEMA, emaExit) and Entry_Ratio > 0.278 //Percentage 
    strategy.close("Sell",comment = "Exit")

////////////////////////////////////////////STOP LOSS AS PERCENTAGE OF ENTRY CONDITIONS///////////////////////////////////////////

if Entry_Ratio < -0.05555555555
    strategy.close("Buy",comment = "Exit")
if Entry_Ratio < -0.027777777777
    strategy.close("Sell",comment = "Exit")// The Sell Stoloss is half the buying stoploss.



Más.