Estrategia de seguimiento del impulso


Fecha de creación: 2023-11-23 13:47:02 Última modificación: 2023-11-23 13:47:02
Copiar: 0 Número de Visitas: 610
1
Seguir
1617
Seguidores

Estrategia de seguimiento del impulso

Descripción general

La estrategia es una estrategia de comercio automático que utiliza el tamaño de la entidad de la línea K y el indicador de la dinámica de la tendencia EMA para juzgar la tendencia del mercado, para lograr una compra baja y una venta alta. Su idea básica es perseguir las caídas en los momentos de alza y compensar más en los momentos de caída.

Principio de estrategia

  1. De acuerdo con el tamaño de la entidad de la línea K, se clasifican en tres tipos: escoria, escoria pequeña y escoria grande.
  2. En el caso de EMA en alza, si aparece un gran punto rojo, indica que el mercado se está ajustando, y en este momento se lanzan más ofertas.
  3. En caso de caída de la EMA, si aparece un gran círculo verde, indica que el mercado se estabilizó, y se coloca la posición.
  4. Ajuste dinámico de posiciones a través de la monitorización en tiempo real de los cambios en las entidades de la línea K y las tendencias de los EMA.

Análisis de las ventajas

  1. La estrategia es clara, la estructura del mercado es fácil de entender a través de indicadores simples.
  2. La estrategia tiene menos parámetros, es difícil de ajustar y tiene una mayor estabilidad.
  3. La lógica de negociación de baja absorción y alta dispersión se ha implementado, y los beneficios son evidentes cuando el mercado fluctúa mucho.
  4. La estrategia de la empresa es tener en cuenta las tendencias y las inversiones, y reaccionar a tiempo cuando las cosas cambian.

Riesgo y optimización

  1. Sin tener en cuenta la magnitud absoluta del precio de las acciones, puede dar lugar a un riesgo de pérdidas. Se puede combinar con el indicador ATR para hacer una pérdida.
  2. Sin tener en cuenta la diferencia de base de las criptomonedas, se pueden probar más pares de transacciones.
  3. Se puede introducir un algoritmo de aprendizaje automático para ayudar a determinar la forma de la línea K.
  4. Se puede combinar con el indicador de volumen de transacciones para seleccionar variedades.
  5. Se puede probar el ajuste de parámetros en diferentes períodos.

Resumir

La idea general de esta estrategia es clara y fácil de entender, y destaca principalmente las dos características de la palanca de fluctuación y la palanca de seguimiento de la palanca. A través de un simple indicador EMABOLL para determinar la dirección de la línea principal del mercado, la entidad de la línea K para determinar el ajuste local, para lograr una transacción eficiente de baja absorción y alto lanzamiento. La estrategia tiene una alta estabilidad, su desempeño es especialmente excelente en criptomonedas y merece ser optimizada para pruebas adicionales.

Código Fuente de la Estrategia
/*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))