Apremiar el impulso en la estrategia de reversión

El autor:¿ Qué pasa?, Fecha: 2023-09-09 23:56:32
Las etiquetas:

imgLa estrategia de impulso de compresión en la inversión es una estrategia de negociación técnica que utiliza las bandas de Bollinger (BB) y los indicadores del canal de Keltner (KC) para identificar posibles reversiones en el mercado.

La estrategia funciona calculando primero las bandas BB y KC para la longitud especificada. La longitud predeterminada es de 20 bares. Las bandas BB luego se multiplican por el multiplicador especificado, que es 2.0 por defecto. Las bandas KC luego se multiplican por el multiplicador especificado, que es 1.5 por defecto.

El siguiente paso es comprobar si las bandas BB y KC están juntas. Si lo son, entonces la estrategia entrará en una posición larga si el precio está por encima de la banda KC y una posición corta si el precio está por debajo de la banda KC. El tamaño de la posición será determinado por la fuerza de reversión especificada, que es 0.0018 por defecto.

La estrategia saldrá de la posición cuando las bandas BB y KC se alejen.

El Squeeze Momentum on Reversal Strategy es una estrategia relativamente simple de implementar, pero puede ser eficaz para identificar posibles reversiones en el mercado. Sin embargo, es importante recordar que ninguna estrategia de negociación está garantizada para ser rentable.

A continuación se explica con más detalle los diferentes componentes de la estrategia:

Bandas de Bollinger (BB): El indicador BB es un indicador de volatilidad que utiliza una media móvil y una desviación estándar para crear bandas alrededor del precio. Canal de Keltner (KC): El indicador KC es similar al indicador BB, pero utiliza un cálculo de promedio móvil y desviación estándar diferente. Fuerza de reversión: La fuerza de reversión es un parámetro que determina el tamaño de la posición que se toma cuando la estrategia entra en una operación. El Squeeze Momentum on Reversal Strategy es una estrategia versátil que se puede utilizar en una variedad de marcos y marcos de tiempo. Sin embargo, es importante tener en cuenta que la estrategia es más efectiva en mercados de tendencia.

Aquí hay algunos consejos para usar el impulso de compresión en la estrategia de reversión:

Utilice un stop loss para proteger sus ganancias. Utilice un stop loss para bloquear las ganancias a medida que el mercado se mueve a su favor. Pruebe la estrategia en datos históricos antes de usarla en el comercio en vivo. Utilice una variedad de otros indicadores para confirmar las señales generadas por el impulso de compresión en la estrategia de inversión. El Squeeze Momentum on Reversal Strategy es una poderosa herramienta que se puede utilizar para identificar posibles reversos en el mercado. Sin embargo, es importante usar la estrategia con sabiduría y comprender sus limitaciones. Al seguir los consejos anteriores, puede aumentar sus posibilidades de éxito al usar esta estrategia.


/*backtest
start: 2022-09-02 00:00:00
end: 2023-09-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//
// @author Odyssee
// @version=2
//
strategy(shorttitle = "Squeeze MOM", title="Squeeze Momentum on Reversal Strategy", overlay=false)

length = input(20, title="BB Length")
mult = input(2.0,title="BB MultFactor")
lengthKC=input(20, title="KC Length")
multKC = input(1.5, title="KC MultFactor")
strength = input(0.0018, title="Reversal Strength")

useTrueRange = input(true, title="Use TrueRange (KC)", type=bool)

// Calculate BB
source = close
basis = sma(source, length)
dev = multKC * stdev(source, length)
upperBB = basis + dev
lowerBB = basis - dev

// Calculate KC
ma = sma(source, lengthKC)
range = useTrueRange ? tr : (high - low)
rangema = sma(range, lengthKC)
upperKC = ma + rangema * multKC
lowerKC = ma - rangema * multKC

sqzOn  = (lowerBB > lowerKC) and (upperBB < upperKC)
sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC)
noSqz  = (sqzOn == false) and (sqzOff == false)

highest = highest(high, lengthKC)
lowest = lowest(low, lengthKC)
lastsma = sma(close,lengthKC)

valin = linreg(source  -  avg(avg(highest, lowest), lastsma), lengthKC,0)

bcolor = iff( valin > 0, iff( valin > nz(valin[1]), lime, green), iff( valin < nz(valin[1]), red, maroon))
scolor = noSqz ? blue : sqzOn ? black : gray 
plot(valin, color=bcolor, style=histogram, linewidth=4)
plot(0, color=scolor, style=cross, linewidth=2)

shortcondition = valin > strength and valin < nz(valin[1]) // line become green
longcondition = valin < (strength*-1) and valin > nz(valin[1]) // line become maroon

if(longcondition)
    strategy.entry("BUY", strategy.long)
if(shortcondition)
    strategy.entry("SELL", strategy.short)


Más.