Combinación de múltiples indicadores técnicos


Fecha de creación: 2023-12-20 11:04:15 Última modificación: 2023-12-20 11:04:15
Copiar: 0 Número de Visitas: 380
1
Seguir
1166
Seguidores

Combinación de múltiples indicadores técnicos

Descripción general

La estrategia utiliza una combinación de varios indicadores técnicos para lograr una estrategia de comercio de línea corta de todo el poder. La estrategia tiene varios modos de comercio al mismo tiempo, como seguimiento de tendencias, operaciones de ruptura y operaciones de reversión, que se pueden adaptar a la mayoría de los entornos de mercado.

Principio de estrategia

  1. La estrategia comienza con el indicador de canal de cuerpo de vela, combinado con los canales de precios más altos y más bajos para determinar la dirección y la fuerza de la tendencia actual.
  2. En segundo lugar, la dirección de la tendencia de la línea media larga se determina con el indicador de línea media EMA común. La combinación de dos indicadores EMA se utiliza para filtrar las señales falsas.
  3. Luego, la estrategia utiliza el indicador Hull MA para determinar si el precio actual es sobrecomprado o sobrevendido. El indicador Hull MA tiene la capacidad de determinar con mayor precisión el punto de inflexión.
  4. Finalmente, la estrategia utiliza la función de seguridad para abrir ciclos más altos para determinar la dirección de la tendencia del ciclo mayor y generar señales de transacción.

La combinación de las subestrategias anteriores permite que la estrategia capte las tendencias de los ciclos intermedios y determine la dirección general de la tendencia en función de los ciclos largos, lo que permite una estrategia de negociación generalista omnipresente.

Análisis de las ventajas

La mayor ventaja de esta estrategia es la combinación de varios indicadores técnicos para el comercio combinado, que permite múltiples formas de comercio al mismo tiempo, como el seguimiento de tendencias, el comercio inverso y el comercio de ruptura, que es muy universal y se adapta a la mayoría de los entornos de mercado.

En concreto, las principales ventajas de esta estrategia son:

  1. El indicador de canal de cuerpo de vela para determinar la ruptura de la entidad puede identificar eficazmente la señal de ruptura.
  2. El uso de la combinación doble de EMA para filtrar falsas señales mejora la precisión de la señal.
  3. El Hull MA es un indicador de la capacidad de determinar con mayor precisión el punto de inflexión en las zonas de sobreventa y sobreventa.
  4. La generación de señales de cruce de precios de apertura con líneas de K de mayor ciclo permite evitar la confusión por el ruido.
  5. La combinación de varias formas de negociación hace que la estrategia sea más versátil y universal.

Análisis de riesgos

A pesar de que la estrategia combina varios indicadores para lograr una estrategia general de negociación, la negociación conlleva ciertos riesgos, los principales son:

  1. Las brechas son susceptibles de ser manipuladas por brechas falsas que generan señales erróneas.
  2. Las inversiones inversas son propensas a sufrir pérdidas en situaciones de crisis.
  3. La capacidad de filtración de la combinación de dos EMAs sigue siendo limitada y podría eliminar señales normales.
    1. El indicador Hull MA sigue siendo insuficiente para la precisión de la curva.

En cuanto a los riesgos mencionados, podemos optimizar en los siguientes aspectos:

  1. El uso de indicadores más estables para ayudar a juzgar y evitar falsos avances.
  2. Aumentar las estrategias de stop loss y controlar las pérdidas individuales.
  3. Ajuste los parámetros de doble EMA para encontrar la mejor combinación.
  4. En este caso, el precio de venta es el precio de venta de un producto, y el precio de venta es el precio de venta de un producto.

Dirección de optimización

Según el análisis anterior, la estrategia puede optimizarse principalmente en las siguientes direcciones:

  1. El uso de una combinación de indicadores más convencionales y estables para el juicio auxiliar, como la línea media de Carman, la banda de Bryn, etc.
  2. Aumentar las estrategias de stop loss y controlar las pérdidas individuales.
  3. Optimización de parámetros para encontrar la combinación óptima de parámetros.
  4. Aumentar la capacidad de los modelos de aprendizaje automático para juzgar las zonas de sobreventa y sobrecompra utilizando la IA.
  5. Aumentar la lógica de juicio adaptable, adaptando las estrategias según la dinámica de los diferentes entornos del mercado.

Resumir

La estrategia utiliza una combinación de varios indicadores para el comercio combinado, la combinación orgánica de seguimiento de tendencias, breakout, invertir, es una estrategia de comercio de línea corta muy versátil y universal. La mayor ventaja de esta estrategia es que es adaptable y se puede utilizar en la mayoría de los entornos de mercado, es una estrategia más general.

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

//@version=2
//╭╮╱╱╭╮╭╮╱╱╭╮
//┃╰╮╭╯┃┃┃╱╱┃┃
//╰╮┃┃╭┻╯┣╮╭┫╰━┳╮╭┳━━╮
//╱┃╰╯┃╭╮┃┃┃┃╭╮┃┃┃┃━━┫
//╱╰╮╭┫╰╯┃╰╯┃╰╯┃╰╯┣━━┃
//╱╱╰╯╰━━┻━━┻━━┻━━┻━━╯
//╭━━━┳╮╱╱╱╱╱╱╱╭╮
//┃╭━╮┃┃╱╱╱╱╱╱╱┃┃
//┃┃╱╰┫╰━┳━━┳━╮╭━╮╭━━┫┃
//┃┃╱╭┫╭╮┃╭╮┃╭╮┫╭╮┫┃━┫┃
//┃╰━╯┃┃┃┃╭╮┃┃┃┃┃┃┃┃━┫╰╮
//╰━━━┻╯╰┻╯╰┻╯╰┻╯╰┻━━┻━╯
//━╯
// http://www.vdubus.co.uk/
strategy(title='Vdub FX SniperVX3 / Strategy  v3', shorttitle='Vdub_FX_SniperVX3_Strategy', overlay=true, pyramiding=0, initial_capital=1000, currency=currency.USD)

//Candle body resistance Channel-----------------------------//
len = 34
src = input(close, title="Candle body resistance Channel")
out = sma(src, len)
last8h = highest(close, 13)
lastl8 = lowest(close, 13)
bearish = cross(close,out) == 1 and falling(close, 1)
bullish = cross(close,out) == 1 and rising(close, 1)
channel2=input(false, title="Bar Channel On/Off")
ul2=plot(channel2?last8h:last8h==nz(last8h[1])?last8h:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level top", offset=0)
ll2=plot(channel2?lastl8:lastl8==nz(lastl8[1])?lastl8:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level bottom", offset=0)
//fill(ul2, ll2, color=black, transp=95, title="Candle body resistance Channel")

//-----------------Support and Resistance 
RST = input(title='Support / Resistance length:',  defval=10) 
RSTT = valuewhen(high >= highest(high, RST), high, 0)
RSTB = valuewhen(low <= lowest(low, RST), low, 0)
RT2 = plot(RSTT, color=RSTT != RSTT[1] ? na : red, linewidth=1, offset=+0)
RB2 = plot(RSTB, color=RSTB != RSTB[1] ? na : green, linewidth=1, offset=0)

//--------------------Trend colour ema------------------------------------------------// 
src0 = close, len0 = input(13, minval=1, title="EMA 1")
ema0 = ema(src0, len0)
direction = rising(ema0, 2) ? +1 : falling(ema0, 2) ? -1 : 0
plot_color = direction > 0  ? lime: direction < 0 ? red : na
plot(ema0, title="EMA", style=line, linewidth=1, color = plot_color)

//-------------------- ema 2------------------------------------------------//
src02 = close, len02 = input(21, minval=1, title="EMA 2")
ema02 = ema(src02, len02)
direction2 = rising(ema02, 2) ? +1 : falling(ema02, 2) ? -1 : 0
plot_color2 = direction2 > 0  ? lime: direction2 < 0 ? red : na
plot(ema02, title="EMA Signal 2", style=line, linewidth=1, color = plot_color2)

//=============Hull MA//
show_hma = input(false, title="Display Hull MA Set:")
hma_src = input(close, title="Hull MA's Source:")
hma_base_length = input(8, minval=1, title="Hull MA's Base Length:")
hma_length_scalar = input(5, minval=0, title="Hull MA's Length Scalar:")
hullma(src, length)=>wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
plot(not show_hma ? na : hullma(hma_src, hma_base_length+hma_length_scalar*6), color=black, linewidth=2, title="Hull MA")

//============ signal Generator ==================================//
Piriod=input('720')
ch1 = request.security(syminfo.tickerid, Piriod, open)
ch2 = request.security(syminfo.tickerid, Piriod, close)
longCondition = crossover(request.security(syminfo.tickerid, Piriod, close),request.security(syminfo.tickerid, Piriod, open))
if (longCondition)
    strategy.entry("BUY", strategy.long)
shortCondition = crossunder(request.security(syminfo.tickerid, Piriod, close),request.security(syminfo.tickerid, Piriod, open))
if (shortCondition)
    strategy.entry("SELL", strategy.short)

///////////////////////////////////////////////////////////////////////////////////////////