Estrategia de seguimiento de media móvil doble de cruce RSI MACD


Fecha de creación: 2023-10-23 17:00:44 Última modificación: 2023-10-23 17:00:44
Copiar: 0 Número de Visitas: 824
1
Seguir
1617
Seguidores

Estrategia de seguimiento de media móvil doble de cruce RSI MACD

Descripción general

Esta estrategia utiliza el indicador RSI, el indicador MACD y la línea de paridad binaria para lograr el seguimiento de la tendencia y el efecto de la diferencia estándar de posicionamiento. La estrategia utiliza el indicador RSI para determinar el fenómeno de sobreventa y sobreventa, el MACD para determinar el momento de compra y venta, la línea de paridad binaria para filtrar algunas oportunidades de negociación de ruido y obtener ganancias en la tendencia.

Principio de estrategia

  1. Calcular el RSI para determinar el exceso de compra y venta
  • Cálculo de las variaciones de alza y bajada en un período determinado

  • Calcula el RSI en función de las variaciones de alza y bajada

  • El juicio de sobrecompra

  1. Cálculo de las mediciones de MACD para el juicio cruzado
  • Cálculo de las líneas rápidas, lentas y señales

  • Hacer compras y ventas de línea cruzada rápida y lenta

  • Mostrar el cruce

  1. Implementación de filtros de doble línea
  • Calcular las líneas rápidas y lentas

  • Considera la transacción solo en la línea rápida y la línea lenta

  • Implementar filtros de ruido de seguimiento de tendencias

  1. Combinación de varios indicadores para la admisión
  • Filtrado de múltiples condiciones de RSI, MACD y doble línea de equilibrio

  • Mejorar la estabilidad de las estrategias

Análisis de las ventajas

  • Combinación de múltiples indicadores para mejorar la precisión de las estrategias

  • Seguimiento de tendencias, filtración de ruido, mejor estabilidad

  • El RSI es un indicador de sobrecompra y sobreventa que ayuda a capturar los puntos de inflexión

  • El MACD es un método simple y eficiente para determinar el precio de compra y venta.

  • Filtrado de doble línea, eliminando la mayoría de las oportunidades de transacción en direcciones no convencionales

  • Fácil de entender, menos parámetros, adecuado para los principiantes para mejorar su aprendizaje

Análisis de riesgos

  • Combinación de múltiples indicadores, que puede generar una estrategia de optimización excesiva

  • La línea de paridad es demasiado sacrificial para la flexibilidad y pierde algunas oportunidades

  • Los parámetros del RSI y el MACD deben elegirse con cuidado

  • La necesidad de prestar atención a los puntos de parada de las variedades de comercio y controlar el riesgo

  • El uso prolongado requiere un ajuste repetido de los parámetros para adaptarse al mercado

Dirección de optimización

  • Ajuste de los parámetros RSI para adaptarse a las diferentes características de las variedades

  • Ajuste de los ciclos de doble línea media para optimizar el seguimiento de tendencias

  • Adherirse a una estrategia de stop loss para controlar las pérdidas individuales

  • Combinación de más indicadores y una combinación más rica de condiciones

  • Modelo de adaptación para el desarrollo de parámetros, ajuste automático de parámetros

Resumir

Esta estrategia utiliza una combinación de indicadores como el RSI, el MACD y la línea de doble equilibrio, permite el juicio y el seguimiento de las tendencias y el filtrado de múltiples capas de oportunidades. Es una estrategia multiindicador muy adecuada para que los principiantes aprendan y mejoren.

Código Fuente de la Estrategia
/*backtest
start: 2023-09-22 00:00:00
end: 2023-10-22 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

// strategy(title="RSI MACD", precision = 6, pyramiding = 1, default_qty_type = strategy.percent_of_equity, default_qty_value = 99, commission_type = strategy.commission.percent, commission_value = 0.25, initial_capital = 1000)

// Component Code Start
// Example usage:
// if testPeriod()
//   strategy.entry("LE", strategy.long)
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(7, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() => true
// Component Code Stop

//standard rsi template
src = ohlc4, len = input(14, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, color=#87ff1a)
band1 = hline(80)
band = hline(50)
band0 = hline(20)
fill(band1, band0, color=purple, transp=90)

//macd

fast_length = input(title="Fast Length",  defval=9)
slow_length = input(title="Slow Length",  defval=72)
signal_length = input(title="Signal Length",  defval=9)

fast_ma = sma(rsi, fast_length) 
slow_ma = sma(rsi, slow_length) 
shortma = sma(ohlc4, fast_length)
longma = sma(ohlc4, slow_length)
controlmainput = input(title = "Control MA", defval = 234)
controlma = sma(ohlc4, controlmainput)
macdx = fast_ma - slow_ma
signalx = sma(macdx, signal_length)
hist = macdx - signalx
ma_hist = shortma - controlma
macd = macdx + 50
signal = signalx + 50

plot(macd,"macd", color = fuchsia)
plot(hist,"hist", style = histogram, color = fuchsia)
//plot(ma_hist,"ma hist", style = histogram, color = orange)
plot(signal,"signal", color = white)

//input
control_buy_toggle = input(true, "Buy on crossover control MA?", type = bool)
buy_on_control = control_buy_toggle == true? true : false

//conditions
buy = buy_on_control == true? ma_hist > 0 and shortma > longma and crossover(macd,signal) or crossover(shortma, controlma) : ma_hist > 0 and shortma > longma and crossover(macd,signal)
sell = ma_hist > 0 and shortma > longma and crossunder(macd,signal)
stop = crossunder(shortma, longma) or crossunder(shortma, controlma)

plotshape(buy,"buy", shape.triangleup, location.bottom, green, size = size.tiny)
plotshape(sell,"sell", shape.triangledown, location.bottom, red, size = size.tiny)
plotshape(stop,"stop",shape.circle,location.bottom, white, size = size.tiny)

if testPeriod()
    strategy.entry("buy", true, when = buy, limit = close)
    strategy.close("buy", when = sell)
    strategy.close("buy", when = stop)