La estrategia de breakout de la proporción dorada

El autor:¿ Qué pasa?, fecha: 2023-11-28 13:40:35
Las etiquetas:

img

Resumen general

La estrategia larga de ruptura de la proporción dorada es una estrategia de negociación de swing basada en los niveles de la proporción dorada de los precios más altos y más bajos en los últimos 21 días.

Estrategia lógica

La estrategia primero calcula el precio más alto de 21 días (alto21) y el precio más bajo de 21 días (bajo21), luego calcula la diferencia entre ellos como diferencia. La señal de negociación se activa cuando el precio bajo actual se rompe por encima del bajo21 + 0.382 * dif mientras que el cierre de la barra anterior es más alto que el de la barra anterior abierta. El stop loss se establece en low21 + 0.236 * diff. En otras palabras, cuando el precio rompe la línea de la proporción de oro del 38.2% del rango de precios reciente de 21 días con elasticidad al alza, se inicia una posición larga. La línea de stop loss es la línea de la proporción de oro del 23.6%.

Los niveles de la proporción de oro se utilizan aquí ya que generalmente corresponden a áreas comunes de soporte y resistencia del mercado. 0.382 y 0.236 se observan como niveles de retroceso y rebote, lo que hace que la proporción de oro sea uno de los números más intrigantes de la naturaleza.

Análisis de ventajas

Las ventajas de esta estrategia son:

  1. Guiados por una metodología de análisis técnico madura - teoría de la proporción de oro.

  2. La configuración de larga duración reduce el riesgo del sistema.

  3. El mecanismo de seguimiento de tendencias identifica el momento exacto de entrada.

  4. El control de pérdidas de detención claro controla el riesgo.

  5. Los parámetros de backtest personalizables se adaptan a diferentes entornos de mercado.

Análisis de riesgos

También hay algunos riesgos:

  1. La dependencia de los datos históricos provoca insensibilidad a los cambios en el régimen del mercado.

  2. El stop loss ajustado puede ser detenido por los intervalos durante la noche.

  3. Las señales falsas pueden ocurrir si se producen violentas oscilaciones de precios en períodos de pruebas de retroceso inadecuados.

  4. El deslizamiento afecta la rentabilidad.

Estos riesgos pueden reducirse ajustando los períodos de backtest, optimizando la colocación de stop loss, teniendo en cuenta el costo del deslizamiento, etc.

Direcciones de optimización

La estrategia puede actualizarse en los siguientes aspectos:

  1. Optimice automáticamente los parámetros con algoritmos de aprendizaje automático para adaptarse mejor al mercado actual.

  2. Incorporar productos de apalancamiento como futuros de índices para la amplificación de la posición.

  3. Mejorar el manejo de eventos extremos como las diferencias de precios.

  4. Optimizar las reglas de stop loss, por ejemplo, establecer paradas dinámicas basadas en la volatilidad.

Conclusión

En conclusión, esta es una estrategia de largo plazo que proporciona una lógica de entrada y stop loss clara basada en la teoría de la proporción dorada.


/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-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 at https://mozilla.org/MPL/2.0/
// © omkarkondhekar

//@version=4
strategy("GRBLong", overlay=true)

highInput = input(title = "High Days", type = input.integer, defval = 21, minval = 11)
lowInput = input(title = "Low Days", type = input.integer, defval = 21, minval = 5)

// Configure backtest start date with inputs
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
     defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
     defval=2019, minval=1800, maxval=2100)

// See if this bar's time happened on/after start date
afterStartDate = (time >= timestamp(syminfo.timezone,
     startYear, startMonth, startDate, 0, 0))

high21 = highest(high, highInput)
low21 = lowest(low, lowInput)

diff = high21 - low21

longEntrySignal = low > low21 + (diff * 0.382) and close[1] > open[1] 

strategy.entry("Long", strategy.long, limit = low, when = longEntrySignal and afterStartDate)
strategy.exit("Long Exit", "Long", stop = low21 + (diff * 0.236))

plot(low21 + (diff * 0.382), color= color.green)
plot(low21 + (diff * 0.236), color = color.red)


Más.