Estrategia de maximización de ganancias siguiendo tendencias


Fecha de creación: 2023-10-11 14:38:40 Última modificación: 2023-10-11 14:38:40
Copiar: 2 Número de Visitas: 593
1
Seguir
1617
Seguidores

Descripción general

Esta estrategia determina la dirección de la tendencia actual mediante el cálculo de las medias móviles y la diferencia estándar de los precios CHANNEL, formando un tren ascendente y descendente dinámico, y combinando los valores promedio de los precios más altos y más bajos para formar un tren intermedio. La estrategia de negociar en función de los cambios de tendencia se lleva a cabo cuando los precios rompen la trayectoria ascendente y cuando los precios caen la trayectoria descendente.

Principio de estrategia

  1. Calcula el promedio móvil simple de 20 días de base cercano como referencia intermedia
  2. Calculación de la diferencia estándar de 20 días de close dev como base para la distancia media de la vía ascendente y descendente
  3. Base de la órbita media*Dev determina el upper y el lower
  4. Calcula el promedio de los precios más altos 2 y más bajos 2 de los últimos 20 días base 2 como la segunda línea media
  5. Las dos líneas medias anteriores toman el promedio de MB como la línea media final
  6. Cuando el cierre es mayor que el MB de la vía media, es una señal de alza, y cuando el MB es mayor que el cierre, es una señal de baja.
  7. Hacer más deuda en la dirección de la señal para obtener ganancias de seguimiento de tendencias

Análisis de las ventajas

  1. Utiliza el canal de diferencia estándar dinámico para capturar rápidamente las tendencias de los cambios de precios
  2. La combinación de la información de los precios más altos y más bajos hace que la trayectoria media sea más útil.
  3. Diseño de doble vía central para una señal más precisa y fiable
  4. La estrategia es sencilla, clara y fácil de entender.
  5. Menos parámetros de configuración para todos los tipos de entornos de mercado

Análisis de riesgos

  1. Las estrategias de stop loss deben considerarse para controlar las pérdidas individuales en las operaciones de ruptura en la vía ascendente o descendente.
  2. La frecuencia de las transacciones puede ser más alta, por lo que se debe considerar el impacto de las comisiones.
  3. Los parámetros como los intervalos necesitan una optimización cuidadosa para evitar la sobreadaptación
  4. El cambio de tendencia puede causar errores en las señales de negociación
  5. La administración de fondos debe ser buena y no debe utilizar un alto nivel de apalancamiento.

Dirección de optimización

  1. Se puede considerar el aumento de las condiciones de filtración para evitar falsas rupturas en la subida y bajada de la vía.
  2. Se puede configurar un stop loss exit dinámico basado en indicadores como el ATR
  3. Se puede combinar información sobre el volumen de transacciones para verificar la fiabilidad de la señal de ruptura
  4. Se pueden optimizar los parámetros, como el ciclo de cálculo, para adaptarse a más entornos de mercado
  5. Se puede considerar establecer el número de posiciones abiertas para controlar el riesgo de pérdida individual.

Resumir

La idea general de la estrategia es clara y fácil de entender, capta la tendencia a través de un canal dinámico y genera señales de negociación en combinación con un diseño de múltiples vías centrales, para que pueda seguir la dirección de la tendencia de manera efectiva y obtener mejores ganancias comerciales. En la aplicación práctica, se debe prestar atención a las estrategias de detención de pérdidas, administración de fondos y optimización de los parámetros para obtener ganancias estables a largo plazo.

Código Fuente de la Estrategia
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 4h
basePeriod: 15m
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/
// © ErdemDemir

//@version=4
strategy("Lawyers Trend Pro Strategy", shorttitle="Lawyers Trend Pro Strategy", overlay=true)

src = close
mult = 2.0
basis = sma(src, 20)
dev = mult * stdev(src, 20)
upper = basis + dev
lower = basis - dev
offset = 0


lower2 = lowest(20)
upper2 = highest(20)
basis2 = avg(upper2, lower2)


MB= (basis+basis2)/2





col1=close>MB
col3=MB>close
colorE = col1 ? color.blue : col3 ? color.red : color.yellow
p3=plot(MB, color=colorE, linewidth=3)

// Deternine if we are currently LONG
isLong = false
isLong := nz(isLong[1], false)

// Determine if we are currently SHORT
isShort = false
isShort := nz(isShort[1], false)

// Buy only if the buy signal is triggered and we are not already long
buySignal = not isLong and crossover(close,MB)

// Sell only if the sell signal is triggered and we are not already short
sellSignal= not isShort and crossover(MB,close)
if (buySignal)
    isLong := true
    isShort := false

if (sellSignal)
    isLong := false
    isShort := true







/// LONG
strategy.entry("long", true , when = buySignal, comment="Open Long")

strategy.close("long", when=sellSignal, comment = "Close Long")

/// SHORT
strategy.entry("short", false,  when = sellSignal, comment="Open Short")

strategy.close("short", when=buySignal, comment = "Close Short")