Esta estrategia se basa en promedios móviles. Se lleva a cabo mucho después de una corrección a corto plazo en una tendencia al alza. Pertenece a la estrategia de tendencia siguiente.
Esta estrategia utiliza 3 líneas EMA con diferentes períodos. La línea EMA1 con un período más corto se utiliza para juzgar la tendencia a corto plazo. Las líneas EMA2 y EMA3 con períodos más largos se utilizan para determinar la tendencia a medio largo plazo, donde EMA3 tiene el período más largo. Cuando la línea EMA1 a corto plazo sube, indica que está en una tendencia alcista a corto plazo. Si EMA2 está por encima de EMA3, significa que el medio largo plazo también está en tendencia alcista, por lo que este es un buen momento para la entrada larga. Específicamente, la señal de negociación se genera cuando el precio cruza por encima de la línea EMA1. Para verificar aún más la estabilidad de la tendencia, requiere que EMA2 y EMA3 apunten hacia arriba y la última barra también esté aumentando en la barra de generación de señales, lo que ayuda a filtrar las señales de correcciones incorrectas a corto plazo.
La línea de stop loss y la línea de take profit se establecen para bloquear las ganancias y pérdidas.
La mayor ventaja de esta estrategia es que puede capturar eficazmente la tendencia al alza a medio y largo plazo, teniendo también en cuenta la corrección a corto plazo, lo que hace que su tiempo de retención y margen de beneficio sean considerables.
Además, la configuración de stop loss y take profit también hace que su riesgo sea controlable.
El mayor riesgo de esta estrategia es que no puede determinar el punto de reversión de la tendencia. Si la tendencia a mediano y largo plazo se invierte mientras que el corto plazo sigue subiendo, generará una señal larga incorrecta para ingresar al mercado, lo que puede causar mayores pérdidas.
Además, también pueden producirse pérdidas comerciales innecesarias en mercados de rango.
Considerar el ajuste de los parámetros del ciclo de la EMA en función de las características de las variedades comerciales específicas para que coincidan mejor con el ciclo medio largo de la variedad.
La combinación con otros indicadores para determinar el final de los ajustes a corto plazo puede evitar una entrada errónea.
Considere ajustar el coeficiente de pérdida de parada en función del valor de ATR, relajando adecuadamente la distancia de pérdida de parada cuando ATR sea grande.
En general, esta estrategia es una tendencia a mediano y largo plazo que sigue una estrategia que funciona bien. Determina la dirección de la tendencia a través de promedios móviles, el momento de entrada a través de señales de retroceso y bloquea las ganancias y pérdidas a través de configuraciones de stop loss y take profit. Pero también existe un cierto riesgo de seguir una tendencia ciega. Los operadores deben hacer su propio juicio sobre el mercado para decidir si ingresar.
/*backtest start: 2024-01-21 00:00:00 end: 2024-01-28 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Trend Continuation', shorttitle='Trend_Continuation', overlay=true) // Input price = input(close) MA1_Length = input.int(50, step=1, title='EMA 1 Length') MA2_Length = input.int(80, step=1, title='EMA 2 Length') MA3_Length = input.int(200, step=1, title='EMA 3 Length') numberOfCandles = input(1) slATRFactor = input(3.5) tpATRFactor = input(3.5) ATRLength = input(14) // switch1=input(true, title="Show Bar Color?") // switch2=input(true, title="Show Moving Averages?") // Calculation MA1 = ta.ema(price, MA1_Length) MA2 = ta.ema(price, MA2_Length) MA3 = ta.ema(price, MA3_Length) prev_price = close[numberOfCandles] // Strategy allPositive = true for i = 0 to numberOfCandles - 1 by 1 if close[i] < close[i + 1] or close[i] < MA1 allPositive := false break long = MA2 > MA3 and price > MA1 and ta.crossunder(prev_price, MA1) and allPositive // short = crossover(price, MA3) or ( change(price)>0 and change(MA1)>0 and crossover(price,MA1) and change(MA2)<0 ) if long strategy.entry('Long', strategy.long, comment='Long') bought = strategy.position_size[0] > strategy.position_size[1] atrAtLong = ta.valuewhen(bought, ta.atr(ATRLength), 0) // Stop loss and take profit slPrice = strategy.position_avg_price - slATRFactor * atrAtLong tpPrice = strategy.position_avg_price + tpATRFactor * atrAtLong SL = plot(slPrice, title='SL', style=plot.style_linebr, linewidth=1, color=color.new(color.red, 0)) if price >= tpPrice and price < MA1 strategy.close('Long') if price < strategy.position_avg_price strategy.exit('Stop Loss', 'Long', stop=slPrice) // Strategy Alert alertcondition(long, title='Long Alert', message='Go Long!') // alertcondition(short, title='EMA Slope + EMA Cross Strategy, Short Alert', message='Go Short!') // MA trend bar color // up = change(MA2)>0 and change(MA3)>0 // dn = change(MA2)<0 and change(MA3)<0 // bar_color = up?green:dn?red:blue // barcolor(switch1?bar_color:na) // MA trend output color change_1 = ta.change(MA2) MA2_color = ta.change(MA2) > 0 ? color.lime : change_1 < 0 ? color.red : color.blue change_2 = ta.change(MA3) MA3_color = ta.change(MA3) > 0 ? color.lime : change_2 < 0 ? color.red : color.blue // MA output // EMA2 = plot(switch2?MA2:na, title="EMA 2", style=linebr, linewidth=2, color=MA2_color) // EMA3 = plot(switch2?MA3:na, title="EMA 3", style=linebr, linewidth=4, color=MA3_color) // fill(EMA2, EMA3, color=silver, transp=50) color_1 = MA2 > MA3 ? color.green : color.red EMA1 = plot(MA1, title='EMA 1', style=plot.style_linebr, linewidth=1, color=color_1) // EMA2 = plot(MA2, title="EMA 2", style=linebr, linewidth=2, color=blue) // EMA3 = plot(MA3, title="EMA 3", style=linebr, linewidth=3, color=red) //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)