
Esta estrategia utiliza una combinación de dos indicadores de fuerza, el índice de concentración de promedios móviles (MACD) y el índice de fuerza relativa (RSI), para establecer condiciones de compra y venta para capturar oportunidades de reversión en el precio de las acciones.
Calcula el indicador MACD, que incluye la línea rápida, la línea lenta y la línea de señal. La línea rápida y la línea lenta se cruzan como señales de compra y venta.
Calcula el RSI y establece los umbrales de las zonas de sobreventa y sobreventa. El RSI puede determinar si hay sobreventa o sobreventa.
La combinación de la señal de la horquilla dorada del MACD y el indicador RSI para determinar el área de sobreventa y sobreventa para establecer las condiciones de compra y venta:
Condiciones de compra: un forquillo de oro se forma a través de una línea lenta en la línea rápida MACD, mientras que el indicador RSI acaba de retroceder desde la zona de venta excesiva y tiene una señal de reversión;
Condiciones de venta: el MACD cruza la línea lenta bajo la línea rápida para formar un punto muerto, mientras que el RSI entra en la zona de sobreventa y tiene una señal de reversión.
El indicador MACD puede determinar la tendencia de los precios de las acciones y el momento de comprar y vender. El indicador RSI puede determinar el exceso de compra y venta. La combinación de ambos puede mejorar la precisión de compra y venta.
El uso simultáneo de dos indicadores de filtración de señales puede evitar falsas señales generadas por un solo indicador.
El MACD se combina con el RSI para comprar antes del punto de inflexión y vender después del punto de inflexión para capturar oportunidades de inflexión.
La estrategia opera con una frecuencia moderada, puede seguir una tendencia o capturar reveses, y es flexible para su uso.
Los indicadores MACD son propensos a generar falsas señales en situaciones de oscilación. La configuración de los parámetros del indicador RSI necesita ser optimizada, de lo contrario también se producen falsas señales.
El precio de las acciones puede fluctuar fuertemente en el corto plazo, lo que genera pérdidas en el punto de parada de la estrategia.
Se necesita optimizar la configuración de los parámetros de RSI y MACD, de lo contrario, puede haber demasiada señal o poca señal.
Las operaciones en bolsa requieren de una estricta gestión de capital y control de riesgos.
Optimice la median rápida de los parámetros MACD para encontrar la combinación de parámetros óptima.
Optimización de los umbrales de sobrecompra y sobreventa del RSI para evitar la generación de señales falsas.
Asociarse a un mecanismo de suspensión de pérdidas para controlar las pérdidas individuales
Se puede considerar la adición de otros indicadores, como la banda de Brin, KDJ, etc., para formar un filtro múltiple.
Se pueden probar diferentes estrategias de compra y venta, como estrategias de ruptura, estrategias de seguimiento de tendencias, etc.
Esta estrategia utiliza los dos indicadores de fuerza MACD y RSI al mismo tiempo, compra y vende en el punto de inflexión, con un fuerte valor real. Sin embargo, se requiere una configuración de parámetros de optimización continua y una gestión estricta de los fondos para obtener un buen efecto en el mercado real. La estrategia en general es más flexible y se puede adaptar a diferentes situaciones, vale la pena comprobar el mercado y el seguimiento a largo plazo.
/*backtest
start: 2022-11-13 00:00:00
end: 2023-11-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
// © sabirt
strategy(title='MACD and RSI', overlay=true, shorttitle='MACD&RSI')
//MACD Settings
fastMA = input.int(title='Fast moving average', defval=12, minval=1)
slowMA = input.int(title='Slow moving average', defval=26, minval=1)
signalLength = input.int(9, minval=1)
//RSI settings
RSIOverSold = input.int(35, minval=1)
RSIOverBought = input.int(80, minval=1)
src = close
len = input.int(14, minval=1, title='Length')
up = ta.rma(math.max(ta.change(src), 0), len)
down = ta.rma(-math.min(ta.change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
wasOversold = rsi[0] <= RSIOverSold or rsi[1] <= RSIOverSold or rsi[2] <= RSIOverSold or rsi[3] <= RSIOverSold or rsi[4] <= RSIOverSold or rsi[5] <= RSIOverSold
wasOverbought = rsi[0] >= RSIOverBought or rsi[1] >= RSIOverBought or rsi[2] >= RSIOverBought or rsi[3] >= RSIOverBought or rsi[4] >= RSIOverBought or rsi[5] >= RSIOverBought
[currMacd, _, _] = ta.macd(close[0], fastMA, slowMA, signalLength)
[prevMacd, _, _] = ta.macd(close[1], fastMA, slowMA, signalLength)
signal = ta.ema(currMacd, signalLength)
avg_1 = math.avg(currMacd, signal)
crossoverBear = ta.cross(currMacd, signal) and currMacd < signal ? avg_1 : na
avg_2 = math.avg(currMacd, signal)
crossoverBull = ta.cross(currMacd, signal) and currMacd > signal ? avg_2 : na
strategy.entry('buy', strategy.long, when=crossoverBull and wasOversold)
strategy.close('buy', when=crossoverBear and wasOverbought)