La estrategia combina los indicadores de las medias móviles indexadas (EMA) y las medias móviles convergentes (MACD) para generar señales de negociación y controla el riesgo mediante el seguimiento de los stop losses. La estrategia se aplica a las tendencias de tendencia y se utiliza para mantener posiciones de largo plazo que siguen las tendencias a medio plazo.
Cuando la línea de EMA rápida atraviesa la línea de EMA lenta y la columna del histograma MACD se vuelve vacía, la estrategia hace más; cuando existen posiciones de más cabeza, configure una línea de parada de seguimiento hacia abajo, si el precio cae más allá de la línea de parada en cierta proporción, la parada de pérdidas se retira de las posiciones de más cabeza.
En concreto, la estrategia utiliza el EMA de 7 días y el EMA de 14 días para construir un EMA rápido; el EMA de 12 días menos el EMA de 26 días para obtener el valor de MACD, y luego el EMA de 9 días para obtener la línea de señal. Cuando el EMA de 7 días atraviesa el EMA de 14 días y el valor de MACD atraviesa la señal, abra una posición adicional; luego configure una línea de parada de seguimiento hacia abajo, y si el precio cae por encima de un determinado porcentaje, deje de perder y salga de la operación.
Esta estrategia combina dos indicadores, EMA y MACD, para filtrar eficazmente las brechas falsas. El EMA determina la dirección de la tendencia y el MACD determina el punto de compra y venta, ambos en combinación pueden reducir la frecuencia de las transacciones y mejorar la calidad de la señal. El seguimiento de los paros puede proteger al máximo los beneficios obtenidos y detener los pérdidas a tiempo en caso de una situación desfavorable importante.
La retroalimentación muestra que la estrategia también puede obtener mejores ganancias en los mercados bajistas, lo que indica que la estrategia tiene cierta robustez. La estrategia no tiene una alta frecuencia de negociación y es adecuada para mantener posiciones a medio o largo plazo. Se pueden ajustar adecuadamente los parámetros del ciclo EMA para ajustar la tendencia de la estrategia.
La estrategia se basa principalmente en indicadores, con el riesgo de ser arbitraje. Cuando el mercado está en una fase de ajuste de la oscilación, la EMA y el MACD pueden generar una gran cantidad de falsas señales, lo que lleva a una sobrecomercialización y pérdidas. El seguimiento de los paros solo es efectivo para un descenso por debajo y no para una gran reversión después de un descenso por encima.
Se pueden reducir las señales falsas mediante la ampliación adecuada de los parámetros del ciclo EMA. También se pueden combinar señales de filtración de otros indicadores, como el indicador de energía cuantitativa, el indicador de volatilidad, etc. Además, se puede ajustar la proporción de stop loss según las condiciones del mercado para equilibrar el riesgo de stop loss y el arbitraje.
Se pueden probar diferentes combinaciones de EMA para encontrar el parámetro de ciclo más adecuado para la estrategia.
Se puede añadir otros indicadores para filtrar la señal, como RSI, KD, etc., para mejorar la calidad de la señal.
Se puede ajustar la proporción de pérdidas de acuerdo con las diferentes variedades, y se puede configurar el seguimiento dinámico de las pérdidas para optimizar la estrategia de pérdidas.
Se puede combinar con indicadores técnicos como rupturas, formas, para establecer más condiciones de apertura de posiciones y posiciones, para que la estrategia sea más personalizada.
Se puede introducir el aprendizaje automático para predecir la dirección de las tendencias de los ciclos, ayudando a la EMA a determinar la tendencia general.
La estrategia es bastante robusta en general y puede obtener buenos rendimientos en un mercado bajista. Sin embargo, existe un cierto riesgo de arbitraje que requiere la optimización de los parámetros y las condiciones de filtración. La estrategia puede ser más efectiva si se puede combinar con otros indicadores técnicos y medios de optimización como el aprendizaje automático. En general, la estrategia ofrece una plataforma confiable para el comercio cuantitativo.
/*backtest
start: 2023-09-12 00:00:00
end: 2023-09-19 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule
//@version=5
strategy('EMA and MACD with Trailing Stop Loss',
overlay=true,
initial_capital=1000,
process_orders_on_close=true,
default_qty_type=strategy.percent_of_equity,
default_qty_value=30,
commission_type=strategy.commission.percent,
commission_value=0.1)
showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0
// EMAs
fastEMA = ta.ema(close, 7)
slowEMA = ta.ema(close, 14)
plot(fastEMA, color = color.blue)
plot(slowEMA, color = color.green)
//buyCondition1 = ta.crossover(fastEMA, slowEMA)
buyCondition1 = fastEMA > slowEMA
// DMI and MACD inputs and calculations
[macd, macd_signal, macd_histogram] = ta.macd(close, 12, 26, 9)
buyCondition2 = ta.crossover(macd_signal, macd)
// Configure trail stop level with input options
longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01
shortTrailPerc = input.float(title='Trail Short Loss (%)', minval=0.0, step=0.1, defval=1) * 0.01
// Determine trail stop loss prices
longStopPrice = 0.0
shortStopPrice = 0.0
longStopPrice := if strategy.position_size > 0
stopValue = close * (1 - longTrailPerc)
math.max(stopValue, longStopPrice[1])
else
0
shortStopPrice := if strategy.position_size < 0
stopValue = close * (1 + shortTrailPerc)
math.min(stopValue, shortStopPrice[1])
else
999999
if (buyCondition1 and buyCondition2 and notInTrade and timePeriod)
strategy.entry(id="Long", direction = strategy.long)
strategy.exit(id="Exit", stop = longStopPrice, limit = shortStopPrice)
//if (sellCondition1 and sellCondition2 and notInTrade and timePeriod)
//strategy.close(id="Close", when = sellCondition1 or sellCondition2)