
Esta estrategia se basa en el indicador de la línea media dinámica de Mark, en combinación con el filtro de señales de negociación de las bandas de Brin y RSI, para lograr una estrategia de seguimiento de la tendencia que no hace más que hacer vacío. Esta estrategia determina la tendencia mediante el cálculo de los cambios en la línea media dinámica de Mark en el precio de cierre de la línea de Hickory, y emite una señal de negociación en comparación con las bandas de Brin.
El núcleo de esta estrategia es calcular el cambio de la línea media dinámica de Mark en el precio de cierre de la línea de Heck. En concreto, se calcula la diferencia de la línea media de Mark entre la línea K actual y las dos líneas K anteriores, y se multiplica por el coeficiente de sensibilidad para obtener el cambio de la línea media de Mark.
Luego, se compara este valor de cambio con el diferencial de los carriles superiores y inferiores de la banda de Brin. Si el cambio de la línea media de Mark es mayor que el diferencial de la banda de Brin, se considera que la tendencia se produce en una ráfaga de bronce. Cuando la ráfaga es positiva, es decir, el cambio de la línea media de Mark es positivo, se produce una señal de multisignal y una línea de columnas verdes.
Además, la estrategia también tiene un filtro RSI que emite señales de multiplicación solo cuando el RSI está por encima de la brecha, lo que evita el riesgo de un cambio de tendencia.
Las medidas de mitigación de riesgo incluyen: ajustar adecuadamente los parámetros para que sean más estables, combinarlos con otros indicadores para juzgar la reversión de la tendencia, usarlos solo en tendencias claras de la línea larga, etc.
La estrategia también tiene cierto margen de mejora:
Prueba diferentes fuentes de precios, como el precio de cierre, la media, etc., para obtener un mejor efecto de suavización.
Ajuste de los parámetros de ciclo de la línea media de Merck y la banda de Bryn para optimizarlas para diferentes variedades
Intentar sustituir el coeficiente de sensibilidad por proporciones para que los resultados sean más intuitivos
Aumentar la calidad de la señal mediante la adición de otros filtros, como la línea de tendencia promedio y el volumen de transacciones.
Desarrollo de estrategias de cabeza en blanco para operar de manera inversa en función de la forma de los indicadores
La inclusión de un mecanismo de suspensión de pérdidas para controlar mejor el riesgo
En general, esta estrategia es una estrategia de seguimiento de tendencias más estable. Utiliza una línea de mediano dinámico para determinar la dirección de la tendencia, identifica los puntos de ruptura de la banda de Brin y filtra las señales falsas del RSI para lograr un sistema de tendencias que solo hace más. Pero también existe un cierto riesgo, que requiere optimización de los parámetros para diferentes variedades y períodos, y no puede beneficiarse de la caída.
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
///////////Original Script Courtesy of Lazy_Bear.... Absolute Legend\\\\\\\\\\\\\\\
strategy('SmoothedWaddah', overlay=false, initial_capital=1)
sensitivity = input(150, title='Sensitivity')
fastLength = input(20, title='MacD FastEMA Length')
slowLength = input(40, title='MacD SlowEMA Length')
channelLength = input(20, title='BB Channel Length')
mult = input(1.5, title='BB Stdev Multiplier')
RSI14filter = input(40, title='RSI Value trade filter')
////////////MacD Calculation of price//////////////////////////////
calc_macd(source, fastLength, slowLength) =>
fastMA = ta.ema(source, fastLength)
slowMA = ta.ema(source, slowLength)
fastMA - slowMA
/////////BolingerBand Calculation of Price///////////////////////
calc_BBUpper(source, length, mult) =>
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
basis + dev
calc_BBLower(source, length, mult) =>
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
basis - dev
//////heinkenashi chart call for closing price "smoothing mechanism"\\\\\\\\\\\\\\\\\\\\\\\\\\\
point = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close)
////////////////////T1 is change in MacD current candle from previous candle Sensitivy amplifies calculation/////////////////////
t1 = (calc_macd(point, fastLength, slowLength) - calc_macd(point[1], fastLength, slowLength)) * sensitivity
//////////////////////T2 is T1 from two candles prior\\\\\\\\\\\\\\\\\\\\\\\\\\\
t2 = (calc_macd(point[2], fastLength, slowLength) - calc_macd(point[3], fastLength, slowLength)) * sensitivity
////////////////E1 is difference in bolinger band upper and lower...E2 is E1 from one candle prior not needed//////////////
e1 = calc_BBUpper(ohlc4, channelLength, mult) - calc_BBLower(ohlc4, channelLength, mult)
//e2 = (calc_BBUpper(close[1], channelLength, mult) - calc_BBLower(close[1], channelLength, mult))
//////signal bar printing.. Up if MacD positive .. Down if MacD negative//////////
trendUp = t1 >= 0 ? t1 : 0
trendDown = t1 < 0 ? -1 * t1 : 0
///////plots difference in macD*Sensitivity, color change if increasing or decreasing.
//////color is green/lime if explosion is up \ color is red/orange if explosion is down/////////
plot(trendUp, style=plot.style_columns, linewidth=1, color=trendUp < trendUp[1] ? color.new(color.lime,45) : color.new(color.green,45), title='UpTrend')
plot(trendDown, style=plot.style_columns, linewidth=1, color=trendDown < trendDown[1] ? color.new(color.orange,45) : color.new(color.red,45), title='DownTrend')
plot(e1, style=plot.style_line, linewidth=2, color=color.new(#A0522D, 0), title='ExplosionLine')
////////////Entry conditions and Concept/////////////////////
////////////Long Only System. T1 is measuring the distance between MACD EMA's. This is Multiplied
////////////by the sensitivity so that it can be compared to the difference between BollingerBand.
/////////////{this could have been a ratio maybe i will work with that in a different script.}
/////////////I found that 135-175 sensitivy allows for values to be compared on most charts.....
////////////If the (difference between the EMA)*(Sensitivity) is greater than (BB upper line- BB lower line)
////////////it is considered an explosion in either the downside or the upside.The indicator will print
///////////a bar higher than the trigger line either green or red (up or down respectively)//////////////////
longCondition = trendUp > e1 and ta.rsi(close, 14) > RSI14filter
if longCondition
strategy.entry('up', strategy.long)
strategy.close('up', trendDown > e1)