Estrategia de inversión de tendencia basada en el indicador ADX


Fecha de creación: 2023-09-13 17:02:31 Última modificación: 2023-09-13 17:02:31
Copiar: 3 Número de Visitas: 915
1
Seguir
1617
Seguidores

Esta estrategia se llama estrategia de reversión de tendencia basada en el indicador ADX. La estrategia utiliza el indicador ADX para determinar la fuerza de la tendencia y capturar oportunidades de reversión cuando se sobrecompra.

El ADX es el índice de tendencia promedio que refleja la intensidad de la tendencia. Cuanto más alto es el ADX, más fuerte es la tendencia. Cuando el ADX es mayor que 25, se considera que hay una tendencia más evidente.

El DMI incluye dos líneas DI+ y DI-。 DI+ indica una tendencia al alza cuando está arriba, y DI- indica una tendencia a la baja cuando está arriba。

La lógica de negociación de esta estrategia es:

  1. Cuando el ADX está por encima de 45, se considera que la tendencia es muy fuerte.

  2. En este momento, si el DI+ es menor que el DI-, se considera un estado de sobreventa, y existe la oportunidad de revertir la tendencia y hacer más.

  3. Por el contrario, si el DI- es inferior al DI+, se considera un estado de sobrecompra, y hay una oportunidad de revertirlo y dejarlo en blanco.

  4. El coche se detuvo a tiempo después de la vuelta.

La ventaja de esta estrategia es que el uso de ADX para determinar el punto de inflexión de una tendencia fuerte, un alto valor de ADX puede filtrar eficazmente las falsas señales de los mercados de oscilación. Sin embargo, los parámetros de ADX necesitan ser optimizados, y la estrategia de detener los pérdidas también es importante.

En general, el indicador ADX es un buen indicador para determinar el momento en que una tendencia fuerte se invierte. Sin embargo, los comerciantes aún deben prestar atención a más factores, y el ADX es solo uno de los indicadores auxiliares para el juicio.

Código Fuente de la Estrategia
/*backtest
start: 2023-08-13 00:00:00
end: 2023-09-12 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(shorttitle='DMI swings',title='DMI swings', overlay=true, initial_capital = 100, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2021, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true        // create function "within window of time"

[pos_dm, neg_dm, avg_dm] = dmi(14, 14)

//Entry 
strategy.entry(id="long", long = true, when = avg_dm > 45 and pos_dm < neg_dm and window())

//Exit
strategy.close("long", when = avg_dm > 45 and pos_dm > neg_dm and window())