Estrategia de avance del impulso con múltiples indicadores técnicos


Fecha de creación: 2023-11-22 15:56:43 Última modificación: 2023-11-22 15:56:43
Copiar: 0 Número de Visitas: 629
1
Seguir
1617
Seguidores

Estrategia de avance del impulso con múltiples indicadores técnicos

Descripción general

Esta estrategia integra varios indicadores técnicos para realizar una operación de compra cuando se determina que el mercado tiene un fuerte movimiento múltiple. Concretamente, la estrategia considera simultáneamente los cinco indicadores MACD, RSI, ADX, Stochastic y Brin, generando una señal de compra cuando estos indicadores cumplen con los requisitos de múltiple.

Principio de estrategia

La lógica central de esta estrategia es comprar después de juzgar que el mercado tiene una fuerte dinámica múltiple. Las reglas de juicio específicas son las siguientes:

  1. Las columnas actuales de 5 minutos, 15 minutos y 60 minutos de MACD están en alza
  2. El RSI es mayor que 60.
  3. ADX es mayor que 12.
  4. Stochastic %K en línea a través de la línea %D
  5. Brin y su caballo.

Cuando las 5 condiciones anteriores se cumplen al mismo tiempo, se considera que el mercado es dinámico y fuerte, y se realiza una operación de compra en este momento.

La regla de salida de la operación es salir de la posición actual cuando se rompe el EMA de 5 minutos por debajo del precio de cierre de 5 minutos.

Análisis de las ventajas

Esta estrategia tiene las siguientes ventajas:

  1. Integrar varios indicadores para juzgar las tendencias globales del mercado y evitar ser engañados por un solo indicador
  2. Utiliza una combinación de indicadores de la alta y baja línea de tiempo para determinar la continuidad de la dinámica de los mercados
  3. El mecanismo de salida es estricto para evitar la expansión de las pérdidas
  4. La frecuencia de las transacciones es moderada y no demasiado densa.

En general, la estrategia es acertada, el riesgo está bien controlado y es adecuada para capturar trayectorias cortas y múltiples.

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. La combinación de varios indicadores aumenta la probabilidad de errores en la devolución
  2. El mecanismo de salida puede ser demasiado estricto y puede provocar una salida prematura de la operación correcta.
  3. La frecuencia de las transacciones es alta y las transacciones demasiado frecuentes aumentan la carga de las comisiones

En general, el riesgo de esta estrategia es mayor en errores de entrada y salidas prematuras, que se deben mitigar mediante la optimización de parámetros y el ajuste de reglas.

Dirección de optimización

Esta estrategia puede ser optimizada en las siguientes direcciones:

  1. Optimización de los parámetros MACD para encontrar combinaciones de parámetros que se ajusten mejor a las leyes del mercado
  2. Ajustar el RSI para encontrar un mejor intervalo de sobreventa
  3. Optimización de los parámetros de Stochastic para encontrar mejores combinaciones cruzadas
  4. Ajuste de los parámetros de las bandas de Brin para reflejar mejor la volatilidad del mercado
  5. Optimización o sustitución de las reglas del mecanismo de salida para reducir la probabilidad de una salida errónea

A través de la optimización de parámetros y reglas, se puede mejorar aún más la rentabilidad y la capacidad de control de riesgos de esta estrategia.

Resumir

Esta estrategia integra varios indicadores para juzgar las tendencias del mercado, y el mecanismo de salida es más estricto. La estrategia es precisa, puede capturar la trayectoria de la línea corta, y el control del riesgo es mejor.

Código Fuente de la Estrategia
/*backtest
start: 2022-11-15 00:00:00
end: 2023-11-21 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/
// © makarandpatil

// This strategy is for Bank Nifty instrument and for intraday purpose only
// It checks for various indicators and gives a buy signal when all conditions are met 
// Bank Nifty when in momentum gives 100-200 points in spot in 5-15 min which is how long the trade duration should be
// Issues - The custom script as per TradingView Pinescripting has an issue of repaint
// More information on repainting issue in this link - https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html
// Use the script alert only to get notified, however check all the parameters individually before taking the trade
// Also, please perform a backtesting and deep backtesting of this strategy to see if the strategy gave correct buy signals in the past
// The script is made for testing purposes only and is in beta mode. Please use at own risk.

//@version=5
strategy("BankNifty_Bullish_Intraday", overlay=true, margin_long = 100, margin_short = 100)

// Variables
StochLength = input(14, title="Stochastic Length")
smoothK = input(3, title="%K Smoothing")
smoothD = input(3, title="%D Smoothing")
 
 
//INDICATOR CALCULATIONS
 
// 1. MACD
[macdLine, signalLine, histLine] = ta.macd(close[0],12,26,9)
 
macd5 = request.security(syminfo.tickerid, "5", macdLine)
macd15 = request.security(syminfo.tickerid,"15",macdLine)
macd60 = request.security(syminfo.tickerid,"60",macdLine)
 
// 2. RSI Calculation
xRSI = ta.rsi(close, 14)
 
// 3. ADX calculation
[diplus, diminus, adx] = ta.dmi(14,14)
// plot(adx,color = color.black)
 
// 4. Stochastic Calculation
k = ta.sma(ta.stoch(close, high, low, StochLength), smoothK)
d = ta.sma(k, smoothD)
 
// 5. Bollinger Band calculation
[middle, upper, lower] = ta.bb(close, 20, 2)
 
 
//CONDITIONS
 
// 1. Conditions for MACD
macd5Uptick = macd5[0] > macd5[1]
macd15Uptick = macd15[0] > macd15[1]
macd60Uptick = macd60[0] >= macd60[1]
 
// 2. Condition for xRSI
RSIStrong = xRSI > 60
 
// 3. Condition for ADX
ADXUngali = adx >= 12
 
// 4. Condition for Stochastic
StochPCO = k > d
 
// 5. Condition for Bollinger Band
BBCU = upper > upper [1]
 
//Evaluate the long condition
// longCondition = macd5Uptick and macd15Uptick and RSIStrong and ADXUngali and StochPCO and BBCU
longCondition = macd5Uptick and macd15Uptick and macd60Uptick and RSIStrong and ADXUngali and StochPCO and BBCU
// longCondition = macd5Uptick and macd15Uptick and RSIStrong and ADXUngali and StochPCO and BBCU

if (longCondition)
    strategy.entry("Buy", strategy.long,alert_message = "BankNifty_Buy_Momentum")

shortCondition = close < ta.ema(close,5)
if (shortCondition)
    strategy.entry("BuySquareoff", strategy.short, alert_message = "BankNifty_Closed_Below_5EMA")