Estrategia de trading de tendencia de reversión a la media de la sección áurea


Fecha de creación: 2023-12-07 11:03:20 Última modificación: 2023-12-07 11:03:20
Copiar: 1 Número de Visitas: 636
1
Seguir
1619
Seguidores

Estrategia de trading de tendencia de reversión a la media de la sección áurea

Descripción general

La estrategia de negociación de tendencia de retorno de la media divisoria en oro utiliza el indicador de canal y las medias móviles para identificar la dirección de la tendencia más fuerte y, después de una cierta corrección de la proporción de los precios, puede abrir una posición en la dirección de la tendencia. La estrategia es adecuada para mercados con características de tendencia más fuertes y puede obtener un mejor rendimiento en situaciones de tendencia.

Principio de estrategia

Los indicadores centrales de la estrategia incluyen indicadores de canal, promedios móviles y líneas de activación de retroalimentación. En concreto:

  1. El indicador de canal consiste en el cálculo de precios máximos y mínimos para identificar un canal de precios.
  2. Los promedios móviles se utilizan para determinar la dirección de la tendencia general de los precios.
  3. La línea de disparo de reajuste se utiliza para abrir posiciones después de que el precio rebote una cierta proporción desde el límite del canal.

Cuando el precio toca el fondo del canal, la estrategia registra el punto más bajo como punto de referencia y establece un símbolo de permiso de baja. Cuando el precio sube, se abrirá una posición baja cerca del punto de rebote una vez que el aumento alcance la proporción de reajuste.

Por el contrario, cuando el precio toca la cima de la canal, la estrategia registra el punto más alto como punto de referencia y establece que se permita hacer más señales. Cuando el precio baja, si la caída alcanza el requisito de la proporción de reajuste, se abre más posiciones cerca de ese punto.

Por lo tanto, la lógica de negociación de la estrategia es seguir el canal de precios y elegir el punto adecuado para intervenir en la tendencia existente cuando se produce una señal de reversión. Esta es una forma común de estrategia de negociación de tipo de reajuste de tendencia.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. En la actualidad, el mercado de valores de los Estados Unidos se encuentra en una situación de crecimiento constante, con una tendencia a la baja.
  2. La rigidez de la entrada en la estrategia se puede ajustar mediante el ajuste de los parámetros de la proporción de retroceso;
  3. El control de retiro razonable limita las pérdidas individuales.

En concreto, debido a que la estrategia se basa en abrir posiciones en los puntos de reversión de la tendencia, es más eficaz en los mercados donde los precios fluctúan mucho y la tendencia es evidente. Además, el ajuste de los parámetros de la proporción de reajuste puede controlar la radicalidad de la estrategia de seguimiento de la tendencia. Finalmente, el método de stop loss puede controlar bien las pérdidas individuales.

Análisis de riesgos

La estrategia también presenta los siguientes riesgos principales:

  1. Las estrategias son más sensibles a las características de tendencia de las variedades de comercio.
  2. La configuración incorrecta de la proporción de reajuste puede conducir a ser demasiado radical o conservador.
  3. El tiempo de retención puede ser demasiado largo y hay que tener en cuenta el riesgo de pasar la noche.

En concreto, si la variedad de transacciones en la que se utiliza la estrategia es de tendencia débil y con poca volatilidad, el efecto puede ser reducido. Además, la configuración de un porcentaje de reajuste demasiado grande o demasiado pequeño puede afectar el rendimiento de la estrategia. Finalmente, debido a que el período de tenencia de la estrategia puede ser largo, también se debe tener en cuenta el control del riesgo durante la noche.

Para evitar los riesgos mencionados, se puede considerar la optimización de los siguientes aspectos:

  1. En la mayoría de los casos, las transacciones se realizan en el mercado de divisas.
  2. Ajuste el Parameter de proporción de reajuste para encontrar la combinación de parámetros óptima;
  3. Configuración de la parada Exit para controlar razonablemente el tiempo de mantenimiento de la posición.

Resumir

La estrategia de negociación de tendencias de retorno de la media media divisoria en oro es un sistema de tendencias más típico. Se trata de una estrategia de optimización de parámetros más amplia que se puede adaptar a más entornos de mercado a través de la optimización, y el control del riesgo también es más razonable. Por lo tanto, es una idea de estrategia de optimización que vale la pena probar y mejorar en la práctica.

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

//@version=3
//
// A port of the TradeStation EasyLanguage code for a mean-revision strategy described at
//     http://traders.com/Documentation/FEEDbk_docs/2017/01/TradersTips.html
//
// "In “Mean-Reversion Swing Trading,” which appeared in the December 2016 issue of STOCKS & COMMODITIES, author Ken Calhoun
//  describes a trading methodology where the trader attempts to enter an existing trend after there has been a pullback. 
//  He suggests looking for 50% pullbacks in strong trends and waiting for price to move back in the direction of the trend
//  before entering the trade."
//
//  See Also:
//    - 9 Mistakes Quants Make that Cause Backtests to Lie (https://blog.quantopian.com/9-mistakes-quants-make-that-cause-backtests-to-lie-by-tucker-balch-ph-d/)
//    - When Backtests Meet Reality (http://financial-hacker.com/Backtest.pdf)
//    - Why MT4 backtesting does not work (http://www.stevehopwoodforex.com/phpBB3/viewtopic.php?f=28&t=4020)
//
// 
// -----------------------------------------------------------------------------
// Copyright 2018 sherwind
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// The GNU General Public License can be found here
// <http://www.gnu.org/licenses/>.
//
// -----------------------------------------------------------------------------
//

strategy("Mean-Reversion Swing Trading Strategy v1", shorttitle="MRST Strategy v1", overlay=true)
channel_len  = input(defval=20, title="Channel Period", minval=1)
pullback_pct = input(defval=0.5, title="Percent Pull Back Trigger", minval=0.01, maxval=1, step=0.01)
trend_filter_len = input(defval=50, title="Trend MA Period", minval=1)


upper_band = highest(high, channel_len)
lower_band = lowest(low, channel_len)
trend      = sma(close, trend_filter_len)

low_ref  = 0.0
low_ref  :=  nz(low_ref[1])
high_ref = 0.0
high_ref := nz(high_ref[1])
long_ok  = false
long_ok  := nz(long_ok[1])
short_ok = false
short_ok := nz(short_ok[1])
long_ok2 = false
long_ok2  := nz(long_ok2[1])

if (low == lower_band)
    low_ref  := low
    long_ok  := false
    short_ok := true
    long_ok2 := false

if (high == upper_band)
    high_ref := high
    long_ok  := true
    short_ok := false
    long_ok2  := true

// Pull Back Level
trigger = long_ok2 ? high_ref - pullback_pct * (high_ref - low_ref) : low_ref + pullback_pct * (high_ref - low_ref)

plot(upper_band, title="Upper Band", color=long_ok2?green:red)
plot(lower_band, title="Lower Band", color=long_ok2?green:red)
plot(trigger, title="Trigger", color=purple)
plot(trend, title="Trend", color=orange)

enter_long = long_ok[1] and long_ok and crossover(close, trigger) and close > trend and strategy.position_size <= 0
enter_short = short_ok[1] and short_ok and crossunder(close, trigger) and close < trend and strategy.position_size >= 0

if (enter_long)
    long_ok := false
    strategy.entry("pullback-long", strategy.long, stop=close, comment="pullback-long")
else
    strategy.cancel("pullback-long")

if (enter_short)
	short_ok := false
    strategy.entry("pullback-short", strategy.short, stop=close, comment="pullback-short")
else
    strategy.cancel("pullback-short")

strategy.exit("exit-long", "pullback-long", limit=upper_band, stop=lower_band)
strategy.exit("exit-short", "pullback-short", limit=lower_band, stop=upper_band)