Estrategia de ruptura de soporte y resistencia basada en la media móvil


Fecha de creación: 2023-09-28 15:20:47 Última modificación: 2023-09-28 15:20:47
Copiar: 3 Número de Visitas: 726
1
Seguir
1617
Seguidores

Descripción general

La estrategia se basa en las medias móviles para identificar las áreas clave de precios de soporte y resistencia, y realizar operaciones comerciales en caso de rupturas en estas áreas. La estrategia es simple y efectiva, fácil de entender e implementar.

Principio de estrategia

La estrategia utiliza un SMA de movimiento simple de 50 ciclos de longitud para identificar las áreas clave de soporte y resistencia. En concreto:

  • Cuando el precio de cierre rompe la SMA desde abajo, toma el precio más alto de los últimos 50 períodos como resistencia R
  • Cuando el precio de cierre cae por encima de la SMA, toma el precio más bajo de los últimos 50 períodos como soporte S
  • Cuando el precio de cierre supera la resistencia R, haga más
  • El precio de cierre se cerrará por debajo del soporte S y se cerrará por debajo del soporte S

Es decir, la estrategia utiliza el SMA de 50 ciclos de longitud para dividir las zonas de precios, y cuando el precio se rompe en estas zonas, el comercio en la dirección opuesta. Hacer más de la resistencia de ruptura, la caída a través de soporte para hacer vacío. La estrategia es simple y fácil de operar.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. El uso de promedios móviles para identificar la resistencia de soporte tiene cierta fiabilidad y puede filtrar efectivamente las falsas rupturas.
  2. La longitud de 50 ciclos no es larga ni corta, y se puede identificar la resistencia de soporte intermedia más importante.
  3. El uso de un solo indicador SMA, el gasto en el sistema es pequeño y fácil de implementar.
  4. Las estrategias de ruptura son simples, efectivas y fáciles de manejar.
  5. Los parámetros configurables son escasos y no se pueden optimizar demasiado.

Análisis de riesgos

La estrategia también tiene los siguientes riesgos:

  1. Todavía existe un cierto riesgo de un falso avance, ya que las medias móviles no pueden filtrarse completamente.
  2. El ciclo fijo no puede adaptarse a los diferentes ciclos del mercado y puede perder oportunidades en ciclos más cortos.
  3. Después de la ruptura, puede haber altos y bajos antes de la prueba de reajuste, lo que requiere cierta técnica de deterioro.
  4. Cuando se mantiene una posición a largo plazo, se debe prestar atención a la dirección de la tendencia a un nivel más amplio.

Estos riesgos se pueden optimizar mediante el ajuste adecuado de los ciclos de las medias móviles o mediante la adición de indicadores de filtración de tendencias. Al mismo tiempo, es muy importante hacer una buena gestión de los riesgos.

Dirección de optimización

La estrategia puede ser optimizada en las siguientes direcciones:

  1. Aumentar indicadores como el MACD para ayudar a determinar la dirección y la intensidad de las tendencias.
  2. Añade la optimización de adaptación del ciclo MA para que el ciclo se ajuste dinámicamente.
  3. Optimización de la identificación de la ruptura, por ejemplo, requerir la ruptura simultánea de MA y la banda de Brin en la vía baja, etc.
  4. Aumentar el mecanismo de suspensión de pérdidas para controlar las pérdidas individuales.
  5. Prueba diferentes parámetros de ciclo MA para encontrar la combinación óptima de parámetros.

A través de estas optimizaciones, las estrategias pueden ser más flexibles y ser efectivas en diferentes ciclos de mercado.

Resumir

En general, la estrategia utiliza una simple media móvil para identificar las áreas de resistencia de soporte, para realizar operaciones de ruptura de precios, y es simple y eficiente. También hay un gran espacio de optimización que se puede mejorar en varias dimensiones. Aunque existe un cierto riesgo de falsa ruptura, la configuración de un stop loss razonable puede ser controlada de manera efectiva.

Código Fuente de la Estrategia
/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//--------------------------*
//-- This source code is subject to the terms of the Mozilla Public License 2.0
//-- 開源代碼受Mozilla公眾授權條款2.0版規範, 網址是https://mozilla.org/MPL/2.0/
//
//@version=4
//
//  作品: [LunaOwl] 支撐壓力策略第4版
//  英文: [LunaOwl] Support Resistance Strategy V4
//
////////////////////////////////
//     ~~!!*(๑╹◡╹๑) **       //
//  製作:  @LunaOwl 彭彭      //
//  日期:  2019年03月05日     //
//  修改:  2019年04月22日     //
//  四版:  2020年06月16日     //
//  發表:  2020年06月17日     //
////////////////////////////////

//==設定策略==//

strategy("[LunaOwl] 支撐壓力策略 [回測]",
     shorttitle          = "支撐壓力策略 [回測]",
     overlay             = true,
     calc_on_order_fills = false,
     calc_on_every_tick  = false,
     pyramiding          = 0,
     currency            = currency.NONE,
     initial_capital     = 10000,
     slippage            = 5,
     default_qty_value   = 100,
     default_qty_type    = strategy.percent_of_equity,
     commission_type     = strategy.commission.percent,
     commission_value    = 0.05
     )

LB = input(50, title = "回溯期數", type = input.integer)
R = valuewhen(cross(sma(close, LB),close), highest(high, LB), 1)
S = valuewhen(cross(close,sma(close, LB)),  lowest( low, LB), 1)

plot(R, title = "壓力", color = color.green)
plot(S, title = "支撐", color = color.red)

//==定義輸出結果==//

Trend_up = crossover(close, R) ? 1 : 0
Trend_dn = crossunder(close, S) ? -1 : 0

//==設定出場規則==//

Enter = Trend_up ==  1 and Trend_up[1] == 0 ? Trend_up : na
Exit  = Trend_dn == -1 and Trend_dn[1] == 0 ? Trend_dn : na
strategy.entry("多", strategy.long, when = Enter)
strategy.entry("空", strategy.short, when = Exit)