Estrategia de seguimiento del impulso

El autor:¿ Qué pasa?, Fecha: 2023-11-23 13:47:02
Las etiquetas:

img

Resumen general

Esta estrategia utiliza el tamaño corporal de las velas y el indicador de impulso de tendencia EMA para determinar las tendencias del mercado e implementar operaciones automatizadas para comprar bajo y vender alto.

Estrategia lógica

  1. Clasifique los candelabros en migajas, velas pequeñas y grandes según el tamaño del cuerpo.
  2. Cuando la EMA está subiendo, si aparece una gran vela roja, indica una corrección del mercado.
  3. Cuando la EMA está cayendo, si aparece una gran vela verde, significa que el mercado se está estabilizando.
  4. Ajuste dinámico de posiciones basado en el seguimiento en tiempo real de los cambios en el candelero y las tendencias de la EMA.

Análisis de ventajas

  1. La idea de la estrategia es sencilla y fácil de entender al juzgar la estructura del mercado a través de indicadores simples.
  2. La estrategia tiene pocos parámetros y no es propensa a un sobreajuste, lo que resulta en una alta estabilidad.
  3. Implementa la lógica de comprar a bajo precio y vender a alto precio y genera beneficios notables durante las fluctuaciones significativas del mercado.
  4. Tiene en cuenta tanto las tendencias como las inversiones y puede responder rápidamente a los cambios en las condiciones del mercado.

Riesgos y optimización

  1. No tiene en cuenta la amplitud absoluta de los precios de los activos, lo que puede dar lugar a riesgos de stop-loss.
  2. No considera la emisión básica de criptomonedas y puede probarse en más pares comerciales.
  3. Los algoritmos de aprendizaje automático pueden introducirse para ayudar a juzgar los patrones de velas.
  4. Los indicadores de volumen de negociación pueden utilizarse para seleccionar las variedades.
  5. Se pueden probar diferentes ajustes de parámetros de marco de tiempo.

Conclusión

La idea general de esta estrategia es sencilla y fácil de entender, con momentum y tracking como sus principales características. Determina la dirección principal del mercado a través del simple indicador EMABOLL y utiliza cuerpos de velas para juzgar los ajustes locales, realizando un comercio eficiente comprando bajo y vendiendo alto. La estrategia tiene una alta estabilidad y un rendimiento excepcionalmente bueno en criptomonedas, por lo que vale la pena para más pruebas y optimización.


/*backtest
start: 2023-10-23 00:00:00
end: 2023-11-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//Author @divonn1994

strategy(title='Trend Follower Strategy v2 [divonn1994]', shorttitle='TrendFollowStrategyV2', overlay=false, pyramiding=0, default_qty_value=100, default_qty_type=strategy.percent_of_equity, precision=7, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent, initial_capital=100)

//Important Constants for Classifying Candle Size----------------------------------------------------------------------------------------------------------------------------------------------

timesBigger = 2
crumbSize = 1400
crumbSize2 = 2100
bigCandleSize = 3800

//Key Alerts and Classifications of Candle Size and EMAs---------------------------------------------------------------------------------------------------------------------------------------

emaAlert = ta.ema(close, 8) > ta.ema(open, 8) ? 1 : 0 
CandleSize = close * 1 - open * 1
previousCandleSize = close[1] * 1 - open[1] * 1
greenCandle = close > open ? 1 : 0
previousGreenCandle = close[1] > open[1] ? 1 : 0

crumb = (greenCandle==1 and CandleSize<=crumbSize) or (greenCandle==0 and -CandleSize<=crumbSize) ? 1 : 0
bigCrumb = (greenCandle==1 and CandleSize<=crumbSize2 and CandleSize>crumbSize) or (greenCandle==0 and -CandleSize<=crumbSize2 and -CandleSize>crumbSize) ? 1 : 0
previousCandleIsSmallCrumb = (previousGreenCandle==1 and previousCandleSize<=crumbSize) or (previousGreenCandle==0 and -previousCandleSize<=crumbSize) ? 1 : 0
previousCandleIsBigCrumb = (previousGreenCandle==1 and previousCandleSize<=crumbSize2 and previousCandleSize>crumbSize) or (previousGreenCandle==0 and -previousCandleSize<=crumbSize2 and -previousCandleSize>crumbSize) ? 1 : 0

bigCandle = (greenCandle==1 and previousCandleIsBigCrumb==1 and CandleSize>=math.abs(timesBigger*previousCandleSize)) or (greenCandle==1 and previousCandleIsSmallCrumb==1 and CandleSize>=bigCandleSize) or (greenCandle==1 and previousCandleIsSmallCrumb==0 and previousCandleIsBigCrumb==0 and CandleSize>=math.abs(timesBigger*previousCandleSize)) ? 1 : 0

//Engine (Secret Sauce)------------------------------------------------------------------------------------------------------------------------------------------------------------------------

buy = (crumb==0 and bigCrumb==0 and greenCandle==0) or (greenCandle==1 and bigCandle==1) or (emaAlert==0) ? 0 : 1

//Strategy-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

if ta.crossover(buy, 0.5)
    strategy.entry('long', strategy.long, comment='long')
if ta.crossunder(buy, 0.5)
    strategy.close('long')

//Plot Strategy Behavior-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

plot(buy, color=color.new(color.silver, 0))
plot(0.5, color=color.new(color.fuchsia, 0))

Más.