Estrategia de seguimiento de reversión de media móvil doble


Fecha de creación: 2023-12-07 17:40:12 Última modificación: 2023-12-07 17:40:12
Copiar: 0 Número de Visitas: 611
1
Seguir
1619
Seguidores

Estrategia de seguimiento de reversión de media móvil doble

La idea principal de esta estrategia es la de utilizar las medias móviles como una señal de compra y venta, combinada con el precio de romper las líneas de paridad para establecer posiciones y paradas. La estrategia genera una señal de compra cuando la línea de paridad a corto plazo atraviesa la línea de paridad a largo plazo y genera una señal de venta cuando la línea de paridad a corto plazo atraviesa la línea de paridad a largo plazo.

La estrategia funciona de la siguiente manera:

  1. Calcule las medias móviles simples a corto plazo y a largo plazo.

  2. La comparación de si el precio está por encima o por debajo de la media móvil se basa en que el precio está por encima de la media móvil y el precio está por debajo de la media móvil.

  3. Haga más cuando use la línea media larga en la línea media corta; haga vacío cuando use la línea media larga debajo de la línea media corta.

  4. Así es como cambian de posición.

Las principales ventajas de esta estrategia son:

  1. Las estrategias de doble línea equilibrada combinan el seguimiento de tendencias y el comercio de reversión, lo que permite seguir las tendencias del mercado y capturar oportunidades de reversión.

  2. La línea uniforme de la horca de oro tiene cierta durabilidad, y puede eliminar eficazmente la falsa ruptura.

  3. El uso de la teoría de líneas medias es útil para bloquear ganancias durante las fluctuaciones de tendencias.

Los principales riesgos de esta estrategia son:

  1. Las estrategias de doble línea son sensibles a los parámetros, y la configuración incorrecta de los parámetros de las medias móviles puede provocar transacciones frecuentes o oportunidades perdidas.

  2. El fracaso de la brecha puede causar pérdidas y se necesita un alto de pérdidas efectivo para controlar el riesgo.

  3. La inversión de la tendencia no siempre es exitosa, y puede continuar con la tendencia original y causar pérdidas.

Las principales direcciones de optimización de la estrategia son:

  1. Prueba y optimización de los parámetros de la media móvil para encontrar la combinación óptima de parámetros.

  2. Añadir indicadores para juzgar la tendencia, distinguir tendencias y mercados convulsivos.

  3. Aumentar el stop-loss efectivo para controlar el riesgo, como el seguimiento del stop-loss, la suspensión del stop-loss, etc.

  4. Combinado con otros indicadores para mejorar la estabilidad de la estrategia.

En resumen, esta estrategia es una estrategia de seguimiento inverso de doble línea, que considera el seguimiento de tendencias y el comercio inverso, y puede obtener mejores resultados cuando los parámetros se optimizan y el control del riesgo está en su lugar. Sin embargo, cualquier estrategia puede enfrentarse a errores en el juicio de dirección, pérdidas de parada y otros riesgos, que requieren pruebas y optimización continuas para adaptarse a los cambios en el mercado.

Código Fuente de la Estrategia
/*backtest
start: 2023-11-29 00:00:00
end: 2023-12-06 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/
// © HPotter
//  Simple SMA strategy
//
// WARNING:
//      - For purpose educate only
//      - This script to change bars colors
//@version=4
strategy(title="Simple SMA Strategy Backtest", shorttitle="SMA Backtest", precision=6, overlay=true)
Resolution = input(title="Resolution", type=input.resolution, defval="D")
Source = input(title="Source", type=input.source, defval=close)
xSeries = security(syminfo.tickerid, Resolution, Source)
Length = input(title="Length", type=input.integer, defval=14, minval=2)
TriggerPrice = input(title="Trigger Price", type=input.source, defval=close)
BarColors = input(title="Painting bars", type=input.bool, defval=true)
ShowLine = input(title="Show Line", type=input.bool, defval=true)
UseAlerts = input(title="Use Alerts", type=input.bool, defval=false)
reverse = input(title="Trade Reverse", type=input.bool, defval=false)
pos = 0
xSMA = sma(xSeries, Length)
pos := iff(TriggerPrice > xSMA, 1,
         iff(TriggerPrice < xSMA, -1, nz(pos[1], 0)))
nRes = ShowLine ? xSMA : na
alertcondition(UseAlerts == true and pos != pos[1] and pos == 1, title='Signal Buy', message='Strategy to change to BUY')
alertcondition(UseAlerts == true and pos != pos[1] and pos == -1, title='Signal Sell', message='Strategy to change to SELL')
alertcondition(UseAlerts == true and pos != pos[1] and pos == 0, title='FLAT', message='Strategy get out from position')
possig = iff(reverse and pos == 1, -1,
           iff(reverse and pos == -1, 1, pos))
if (possig == 1)
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)
if (possig == 0)
    strategy.close_all()
nColor = BarColors ? possig == -1 ? color.red : possig == 1 ? color.green : color.blue : na 
barcolor(nColor)
plot(nRes, title='SMA', color=#00ffaa, linewidth=2, style=plot.style_line)