
Esta estrategia es una estrategia de comercio cuantitativa simple y eficiente de MACD, diseñada específicamente para el mercado de criptomonedas, que se aplica a operaciones con períodos de tiempo más altos, como 1 hora, 4 horas, 1 día, etc. La estrategia utiliza el indicador MACD para determinar la dirección de la tendencia del mercado y, en combinación con una simple media móvil, genera una señal de comercio. La mayor ventaja de esta estrategia es que es simple y eficiente, fácil de entender y implementar, especialmente adecuada para este mercado de criptomonedas altamente volátil.
La estrategia utiliza el indicador MACD para determinar la tendencia del mercado y generar señales de negociación. La MACD se compone de líneas rápidas, lentas y columnas MACD. La línea rápida es una media móvil a corto plazo y la línea lenta es una media móvil a largo plazo.
Esta es una estrategia muy simple y eficaz, con las siguientes ventajas:
El uso del MACD para determinar la dirección del mercado, un indicador de análisis técnico bien desarrollado y fiable que permite determinar con precisión las tendencias;
El filtro de señales, combinado con una simple media móvil, evita falsas señales y mejora la precisión de la señal.
Los mercados MACD son los más efectivos, especialmente los de alta volatilidad como los de las criptomonedas.
La lógica de la estrategia es simple y clara, fácil de entender y de implementar, con un bajo umbral de acceso y fácil de aplicar.
Se puede operar en periodos de tiempo más altos, lo que reduce la frecuencia de las transacciones, los costos de las transacciones y el impacto de los puntos de deslizamiento.
Sin embargo, esta estrategia también tiene sus riesgos, principalmente en los siguientes aspectos:
El uso de las medias móviles simples como filtros de señales, en algunas situaciones puede perderse el mejor momento de entrada;
Sin el uso de una estrategia de stop-loss, la cuenta puede tener una gran pérdida individual.
Puede generar ciertas señales de retraso y falsas señales, lo que provoca pérdidas innecesarias;
No se tiene en cuenta el impacto de la hora y la frecuencia de las transacciones en la ganancia.
Estos riesgos requieren que se perfeccione y optimice aún más esta estrategia.
De acuerdo con el análisis de riesgos mencionado anteriormente, la estrategia puede optimizarse aún más en las siguientes direcciones:
Prueba diferentes configuraciones de parámetros y diferentes combinaciones de indicadores para encontrar el parámetro óptimo.
Aumentar las estrategias de stop-loss para limitar el máximo de pérdidas individuales;
Optimizar la selección de la hora de entrada, establecer una forma más estricta de verificación de la señal para garantizar la eficacia de la señal;
Tener en cuenta el impacto de las diferentes horas y frecuencias de transacción en el nivel de ganancias en general.
A través de la optimización de estas direcciones, se puede aumentar considerablemente la estabilidad, la rentabilidad y la practicidad de esta estrategia.
En general, esta es una estrategia de negociación MACD muy valiosa en la práctica. Es simple, eficiente y fácil de implementar, ideal para aquellos que desean una entrada rápida a la negociación cuantitativa. La estrategia también tiene un gran espacio de optimización, y mediante pruebas de optimización continua se puede construir una estrategia cuantitativa estable y eficiente, adecuada para operaciones reales a largo plazo.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © SoftKill21
//@version=4
strategy("MACD crypto strategy", overlay=true)
// Getting inputs
//fast_length = input(title="Fast Length", type=input.integer, defval=12)
//slow_length = input(title="Slow Length", type=input.integer, defval=26)
//src = input(title="Source", type=input.source, defval=close)
//signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
//sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
//sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)
fast_length = 12
slow_length = 26
src = input(title="Source", type=input.source, defval=close)
signal_length = 9
sma_source = true
sma_signal = false
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
longcondition = hist > 0
shortcondition = hist < 0
//sl = input(0.5, title="SL")
//tp = input(0.1, title="tp")
strategy.entry("long",1,when=longcondition)
strategy.entry("short",0,when=shortcondition)
//strategy.exit("x_long", "long" ,loss = close * sl / syminfo.mintick, profit = close * tp / syminfo.mintick , alert_message = "closelong")
//strategy.entry("short",0, when= loss = close * sl / syminfo.mintick)
//strategy.exit("x_short", "short" , loss = close * sl / syminfo.mintick, profit = close * tp / syminfo.mintick,alert_message = "closeshort")
// risk = input(2, type=input.float,title="Risk percentage of BALANCE")
// strategy.risk.max_intraday_loss(risk, strategy.percent_of_equity)