
La estrategia de movimiento de tres líneas cruzadas es una estrategia de indicadores técnicos típica para el seguimiento de las tendencias del mercado. Combina tres medias móviles simples de 16 períodos, 36 períodos y 72 períodos para juzgar la tendencia del mercado a través de sus cruzadas múltiples y cruzadas vacías, y combina las medias móviles de Kaufman como filtro para tomar acciones de más o menos cuando la dirección de la tendencia es más clara.
El indicador central de esta estrategia son las tres medias móviles simples de 16 períodos, 36 períodos y 72 períodos. Cuando la media de los períodos más largos cruza la media de los períodos más cortos, indica que el mercado está en una tendencia alcista; cuando la media de los períodos más largos cruza la media de los períodos más cortos, indica que el mercado está en una tendencia alcista. Por ejemplo, cuando la media de los períodos 36 y 72 cruza la media de los períodos 16 es una señal alcista; y cuando la media de los períodos 36 y 72 cruza la media de los períodos 16 es una señal alcista.
La media móvil de Kaufmann adaptada (KAMA) se usa como filtro para evitar señales erróneas en casos de tendencia incierta. La señal de cruce de línea uniforme se activa y ejecuta solo cuando KAMA está en modo no acelerado o no desacelerado (es decir, en un tramo lineal).
La estrategia consiste en seguir el cruce de las líneas medias y, cuando la tendencia es más clara, realizar operaciones de plus o de brecha. Hacer más es la condición de que el 16 atraviese las líneas medias 36 y 72, y KAMA lineal ((no acelerar); la condición de que el brecha es que el 16 atraviese las líneas medias 36 y 72 por debajo de la línea media, y KAMA lineal ((no disminuir).
La estrategia tiene las siguientes ventajas:
La estrategia también tiene sus riesgos:
Se puede reducir el riesgo ajustando adecuadamente los parámetros de la línea media, estableciendo restricciones de stop loss o utilizando la estrategia solo en mercados con mucha volatilidad.
La estrategia se puede optimizar de la siguiente manera:
La estrategia de la dinámica de la cruz de tres líneas es una estrategia de seguimiento de tendencias más clásica y práctica en general. Se trata de una estrategia de seguimiento de tendencias que determina el movimiento de la línea media a través de la cruz de las líneas medias en varios períodos de tiempo y filtra eficazmente parte del ruido. Puede ser utilizado como uno de los indicadores de referencia para el comercio de tiempo.
/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 1h
basePeriod: 15m
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/
// © Wielkieef
//@version=5
strategy(title='Three SMA-crossover strategy [30min] ', overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.cash, default_qty_value=10000, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)
src = close
Length1 = input.int(16, title=' 1-SMA Lenght', minval=1, group='SMA')
Length2 = input.int(36, title=' 2-SMA Lenght', minval=1, group='SMA')
Length3 = input.int(72, title=' 3-SMA Lenght', minval=1, group='SMA')
SMA1 = ta.sma(close, Length1)
SMA2 = ta.sma(close, Length2)
SMA3 = ta.sma(close, Length3)
Long_ma = SMA1 > SMA2 and SMA2 > SMA3
Short_ma = SMA1 < SMA2 and SMA2 < SMA3
LengthMainSMA = input.int(100, title=' Trend SMA ', minval=1)
SMAas = ta.sma(src, LengthMainSMA)
// Powered Kaufman Adaptive Moving Average by alexgrover (modificated by Wielkieef)
lengthas = input.int(50, title=' KAMA Lenght')
sp = input.bool(true, title=' Self Powered')
er = math.abs(ta.change(close, lengthas)) / math.sum(math.abs(ta.change(close)), lengthas)
pow = sp ? 1 / er : 2
per = math.pow(math.abs(ta.change(close, lengthas)) / math.sum(math.abs(ta.change(close)), lengthas), pow)
a = 0.
a := per * src + (1 - per) * nz(a[1], src)
mad4h = 0.
a_f = a / a[1] > .999 and a / a[1] < 1.001
///.
Bar_color = close > SMAas ? color.green : Long_ma ? color.blue : Short_ma ? color.maroon : color.gray
barcolor(color=Bar_color)
long_cond = Long_ma and SMAas < close and not a_f and close > a
short_cond = Short_ma and SMAas > close and not a_f and close < a
long_stop = Short_ma and SMAas < close
short_stop = Long_ma and SMAas > close
SMA1plot = plot(SMA1, color=Bar_color, linewidth=2)
SMA2plot = plot(SMA2, color=Bar_color, linewidth=4)
SMA3plot = plot(SMA3, color=Bar_color, linewidth=2)
fill(SMA1plot,SMA3plot,title="RANGE " ,color = color.new(Bar_color, 50))
if long_cond
strategy.entry('Long', strategy.long)
if short_cond
strategy.entry('Short', strategy.short)
strategy.close_all(when=long_stop or short_stop)
//by wielkieef