Estrategia de compra de reingreso dinámico


Fecha de creación: 2023-12-19 13:56:55 Última modificación: 2023-12-19 13:56:55
Copiar: 0 Número de Visitas: 643
1
Seguir
1621
Seguidores

Estrategia de compra de reingreso dinámico

Descripción general

La estrategia es un sistema de negociación de solo compra, que genera una señal de compra basada en el cruce de la media móvil y el índice de canales de mercancías periódicos (CCI) o el índice de dirección de la media periódica (ADX). Se genera una señal de compra cuando la media móvil cruza la media móvil lenta en una media móvil rápida y la CCI periódica y / o la ADX periódica cumplen ciertas condiciones.

La estrategia también permite la reentrada dinámica, lo que significa que se puede abrir una nueva posición de más si el precio atraviesa nuevamente los tres promedios móviles. Sin embargo, la estrategia liquidará la posición de más si el precio de cierre cae por debajo del tercer promedio móvil.

Principio de estrategia

El script define las condiciones para generar una señal de compra. Examina dos condiciones para determinar si una señal de compra es válida:

  • Un promedio móvil rápido es un promedio móvil lento.
  • El usuario tiene la opción de usar un filtro: ciclo CCI o ciclo ADX

La gente no tiene ni idea de lo que está sucediendo.Si no hay una posición de más de un día sin liquidar y el precio es superior a tres promedios móviles, abra una nueva posición de más de un día.

Condiciones para la salida:Si el precio de cierre cae por debajo de la tercera media móvil, la estrategia liquida la posición de más de la cabeza.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. El uso de múltiples tecnologías para filtrar señales de indicadores puede reducir las señales erróneas
  2. El mecanismo de reingreso dinámico capta al máximo las tendencias
  3. Hacer más, evitar el riesgo de hacer menos.

Análisis de riesgos

La estrategia también tiene los siguientes riesgos:

  1. Hay cierto riesgo de desviación.
  2. El tiempo de mantenimiento de las posiciones por parte de varios inversores puede ser demasiado largo y se debe establecer un límite de pérdidas
  3. La configuración incorrecta de los parámetros puede causar transacciones demasiado frecuentes

Resolución de las mismas:

  1. Filtrado de ondas con una mejor combinación de parámetros y combinación de indicadores técnicos
  2. Establecer un límite de pérdidas razonable
  3. Ajustar los parámetros para asegurar que sean estables

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Prueba más combinaciones de indicadores tecnológicos para encontrar mejores oportunidades de compra
  2. Optimización de parámetros para encontrar la combinación óptima de parámetros
  3. Aumentar los mecanismos de suspensión de pérdidas y controlar las pérdidas individuales
  4. Aumentar la gestión de posiciones, aumentando o reduciendo las posiciones según las condiciones del mercado

Resumir

La estrategia de reingreso dinámico integra varios indicadores técnicos para determinar el momento de comprar, y utiliza un diseño de reingreso dinámico para seguir la tendencia en tiempo real; al mismo tiempo, solo hace más para evitar el riesgo adicional que conlleva el descubierto. A través de la optimización de parámetros, la configuración de stop loss y la administración de posiciones, la estrategia se puede utilizar en operaciones reales para obtener ganancias excedentarias mientras se controla el riesgo.

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

//@version=5
strategy("Buy Only Strategy with Dynamic Re-Entry and Exit", overlay=true)

// Input Parameters
fast_length = input(20, title="Fast Moving Average Length")
slow_length = input(30, title="Slow Moving Average Length")
third_ma_length = input(100, title="Third Moving Average Length")
cci_period = input(14, title="CCI Period for Weekly CCI")
use_cci = input(true, title="Use CCI for Entry")
use_adx = input(true, title="Use ADX for Entry")
adx_length = input(14, title="ADX Length")
adx_threshold = input(25, title="ADX Threshold")

// Calculate Moving Averages
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)
third_ma = ta.sma(close, third_ma_length)

// Weekly Commodity Channel Index (CCI) with user-defined period
weekly_cci = request.security(syminfo.tickerid, "W", ta.cci(close,  cci_period))

// Weekly Average Directional Index (ADX)
dirmov = hlc3
plus = ta.change(dirmov) > 0 ? ta.change(dirmov) : 0
minus = ta.change(dirmov) < 0 ? -ta.change(dirmov) : 0
trur = ta.rma(ta.tr, adx_length)
plusDI = ta.rma(plus, adx_length) / trur * 100
minusDI = ta.rma(minus, adx_length) / trur * 100
sum = plusDI + minusDI
DX = sum == 0 ? 0 : math.abs(plusDI - minusDI) / sum * 100
ADX = ta.rma(DX, adx_length)

// Entry Conditions (Buy Only and Weekly CCI > 100 and/or Weekly ADX > 25)
cci_condition = use_cci ? (weekly_cci > 100) : false
adx_condition = use_adx ? (ADX > adx_threshold) : false
long_condition = ta.crossover(fast_ma, slow_ma) and (cci_condition or adx_condition)

// Exit Condition and Dynamic Re-Entry
exit_condition = close < third_ma
re_entry_condition = close > fast_ma and close > slow_ma and close > third_ma and weekly_cci > 100

// Entry and Exit Signals
strategy.entry("Long", strategy.long, when=long_condition)
strategy.close("Long", when=exit_condition)

// Dynamic Re-Entry and Exit
if strategy.position_size == 0 and re_entry_condition
    strategy.entry("Long", strategy.long)

if strategy.position_size > 0 and close < third_ma
    strategy.close("Long")

// Plot Weekly CCI and ADX for reference
plot(weekly_cci, title="Weekly CCI", color=color.orange)
plot(ADX, title="Weekly ADX", color=color.blue)