####Visión general Esta estrategia utiliza indicadores técnicos como el promedio móvil exponencial (EMA), el precio más alto, el precio más bajo y el rango verdadero promedio (ATR) para identificar la dirección de la tendencia actual mediante el análisis de la relación entre el precio y la EMA, el precio más alto y el precio más bajo.
### Principio de estrategia
#### Ventajas de la estrategia
#### Los riesgos de la estrategia
#### Direcciones de optimización de estrategia
### Resumen Esta estrategia utiliza indicadores técnicos como EMA, precio más alto y precio más bajo, combinados con ATR para construir canales dinámicos. Genera señales comerciales al romper por encima del precio más bajo y romper por debajo del precio más alto para capturar los movimientos de la tendencia. Es una estrategia de seguimiento de tendencia simple y práctica con parámetros ajustables, que ofrece buena adaptabilidad y flexibilidad. Sin embargo, su rendimiento puede ser subóptimo en los mercados de rango, lo que requiere una mayor optimización y mejora mediante la introducción de más indicadores, optimización de parámetros y adición de controles de riesgo.
/*backtest start: 2023-05-05 00:00:00 end: 2024-05-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Maboi_q //@version=5 strategy("buy sell Trend", overlay=true) atr_length = input.int(defval=14, title='atr length') highest_length = input.int(defval=60, title='highest length') highest_s_length = input.int(defval=60, title='sell highest length') lowest_length = input.int(defval=30, title='lowest length') sell_l_length = input.int(defval=55, title='sell line length') f = 2.382 f2 = 5.618 atr = ta.atr(atr_length) highest = ta.highest(highest_length) lowest = ta.lowest(lowest_length) f_atr = atr * f ema_hl = ta.ema((highest[1] + lowest[1]) / 2, 14) ema_highest = ema_hl + f_atr ema_lowest = ema_hl - f_atr ema_mid = (ema_highest + ema_lowest) / 2 bs_hi = ta.highest(highest_s_length) f_atr2 = atr * f2 sell_line = ta.ema(bs_hi[1] + f_atr2, sell_l_length) buy_cond = ta.crossover(ema_lowest, lowest) and close < ema_mid sell_cond = (ta.crossunder(ema_highest, highest) and close > ema_mid) or high >= sell_line if buy_cond strategy.entry('BUY', strategy.long) if sell_cond strategy.entry('SELL', strategy.short) plot(sell_line, color=color.new(color.maroon, 50)) plot(highest, color=color.new(color.red, 50)) plot(lowest, color=color.new(color.green, 50)) plot(ema_highest, color=color.new(color.blue, 50)) // plot(ema_mid, color=color.new(color.gray, 50)) plot(ema_lowest, color=color.new(color.blue, 50)) plotshape(buy_cond, title='buy', style=shape.triangleup, location=location.belowbar, color=color.green, textcolor=color.green, size=size.tiny) plotshape(sell_cond, title='sell', style=shape.triangledown, location=location.abovebar, color=color.red, textcolor=color.red, size=size.tiny)