La estrategia TRMMA es una estrategia de seguimiento de tendencias que combina el índice de fuerza relativa (RSI) y el índice de fuerza verdadera (TSI).
La estrategia consta de las siguientes partes principales:
Cálculo de la ETI Calcular el valor exponencial suavizado de la tasa de cambios de precios mediante la suavización exponencial doble, y luego dividirlo por el valor exponencial suavizado de la tasa absoluta de cambios de precios para obtener el indicador TSI. El largo plazo es de 25 días, el corto plazo es de 5 días y la línea de señal es de 14 días.
Calculación del índice de rentabilidad Indicador RSI con precio de cierre como entrada y duración de 5 días.
Juicio de señal Una señal de compra se genera cuando el TSI cruza por encima de su línea de señal y el RSI cruza por encima de 50.
Coloración del candelabro Colorear los candelabros basado en señales para ayudar al juicio.
Parámetros de la estrategia Establecer parámetros como la relación de posición y el capital.
La estrategia combina los indicadores TSI y RSI para juzgar eficazmente las tendencias del mercado y las situaciones de sobrecompra/sobreventa, generando así señales comerciales. En comparación con el uso de TSI o RSI solo, puede filtrar más señales falsas. Además, en comparación con los parámetros predeterminados, esta estrategia adopta un ajuste más agresivo de los parámetros TSI y RSI para obtener señales comerciales más tempranas y de mayor calidad.
Los principales riesgos de esta estrategia incluyen:
Optimización de parámetros de riesgo: los parámetros óptimos de la ETI y RSI pueden diferir entre mercados, productos y plazos de tiempo.
El riesgo de reversión de tendencia. La estrategia en sí se centra en las tendencias. Los eventos repentinos que causan ajustes a corto plazo o inversiones de tendencia a mediano y largo plazo darán lugar a mayores pérdidas para la estrategia.
En comparación con los parámetros predeterminados, esta estrategia utiliza una configuración de parámetros más agresiva, lo que puede generar señales comerciales más frecuentes, lo que trae mayores costos de negociación y dificultades de implementación.
La estrategia se puede optimizar en los siguientes aspectos:
Además, se filtran las señales combinándolas con medias móviles y otros indicadores para reducir la frecuencia de negociación.
Prueba de la combinación óptima de los parámetros de la ETI y de la RSI en diferentes mercados y productos para encontrar los mejores parámetros.
Aumentar las estrategias de stop loss para controlar el riesgo de pérdida única.
Optimizar la gestión de posiciones, aumentar las posiciones cuando la tendencia es más fuerte y reducir las posiciones cuando la tendencia se vuelve débil.
La estrategia TRMMA combina los indicadores TSI y RSI para determinar el momento de entrada y salida, con una fuerte capacidad de captura de tendencias. En comparación con el uso de TSI o RSI solo, puede filtrar eficazmente las señales falsas. La estabilidad de la estrategia se puede mejorar aún más a través de la optimización de parámetros, estrategias de stop loss, gestión de posiciones, etc. La estrategia es adecuada para los inversores con alguna base cuantitativa que buscan altos rendimientos.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // "True relative Movement" or "TRM" for short is a system that combines my two favorite indicators: RSI and TSI. I strived to put together an indicator that combined the best of both // in order to help discretionary traders predict market direction, weakness and strength. As with most technical indicators there are "Buy and sell" signals. Similiar to Elder Impulse system, ///TRM paints bars 3 different colors to display 3 different conditions: Blue for "Buy", Pink for "Sell", and gray for "Take profit/Hold". When the bars turn blue, that means all conditions /// have been met. When they turn pink, no conditions have been met. When they are gray, only one condition has been met. The system is simple, yet effective. A buy signal is prodcued when /// TSI is above the signal line, and RSI is above 50, and vice versa for sell signals. I have modified the default parameters for TSI and RSI for more "aggressive" entries and exits. I may later on /// name this condition "Fast-TRM" and "Slow-TRM" for when default settings for TSI and RSI are applies, as this is a very robust system as well. ///******ES 1HR, 15MIN/5MIN SYSTEM***** Go long, when all time frame on a buy signal and vice versa. Take profit when the 5 min chart flips to buy or sell depending on what side of the trade you are on. Close or flip //// long/short when time all time frames flip to Buy/Hold if short and Sell/Hold if long. Use 20EMA for additional confirmation. //@version=4 strategy("TKP-TRM Strategy", overlay=true) Note = input( 0, title = "TSI standard values are 25, 13, 13, and RSI is 14. Can change the default values to these for 'Slow TRM'") long = input(title="TSI-Long Length", type=input.integer, defval=25) short = input(title="TSI-Short Length", type=input.integer, defval=5) signal = input(title="TSI-Signal Length", type=input.integer, defval=14) price = close double_smooth(src, long, short) => fist_smooth = ema(src, long) ema(fist_smooth, short) pc = change(price) double_smoothed_pc = double_smooth(pc, long, short) double_smoothed_abs_pc = double_smooth(abs(pc), long, short) tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc) TSI_Signal_Line = (ema(tsi_value, signal)) /////////////////////////////RSI//////////////////////////////////////////////// src = close, len = input(5, minval=1, title="RSILength") up = rma(max(change(src), 0), len) down = rma(-min(change(src), 0), len) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) rsiBuyfilterlevel = input(50, minval = 1, title = "RSI cross above Buy Level") rsiSellfilterlevel = input(50, minval = 1, title = "RSI cross below Sell Level") ////////////////////////////Bar Coloring////////////////////////////////////////////////////////// TRM_Buy = ((tsi_value > TSI_Signal_Line) and (rsi > rsiBuyfilterlevel)) TRM_Sell = ( (tsi_value < TSI_Signal_Line) and (rsi <rsiSellfilterlevel)) TRM_Color = TRM_Buy? #3BB3E4 : TRM_Sell? #FF006E : #b2b5be barcolor(TRM_Color) ///////////////////////////Strategy Paramters//////////////////////////////////////// if (TRM_Buy) strategy.entry("Long", strategy.long, comment="Long") if (TRM_Sell) strategy.close("Long", comment="Sell")