Стратегия True Relative Movement Moving Average (TRMMA) - это стратегия, которая сочетает в себе индекс относительной силы (RSI) и индекс истинной силы (TSI).
Стратегия состоит из следующих основных частей:
Расчет ТСОС Вычислить экспоненциально сглаженное значение скорости изменения цен посредством двойного экспоненциального сглаживания, а затем разделить его на экспоненциально сглаженное значение абсолютной скорости изменения цен для получения индикатора ТСИ. Долгосрочный показатель составляет 25 дней, краткосрочный - 5 дней, а линия сигнала - 14 дней.
Расчет ИСО Индикатор RSI с ценой закрытия в качестве ввода и длительностью 5 дней.
Сигнальное суждение Сигнал покупки генерируется, когда TSI пересекается над линией сигнала, а RSI пересекается выше 50. Сигнал продажи генерируется, когда TSI пересекается ниже линии сигнала, а RSI пересекается ниже 50.
Цветение свечей Окрасьте свечи на основе сигналов, чтобы помочь судить.
Параметры стратегии Установите такие параметры, как соотношение позиций и капитал.
Стратегия сочетает в себе индикаторы TSI и RSI для эффективного оценки рыночных тенденций и ситуаций перекупа/перепродажи, тем самым генерируя торговые сигналы. По сравнению с использованием TSI или RSI в одиночку, она может отфильтровать больше ложных сигналов. Кроме того, по сравнению с параметрами по умолчанию, эта стратегия использует более агрессивную настройку параметров TSI и RSI для получения более ранних и более качественных торговых сигналов.
К основным рискам этой стратегии относятся:
Оптимизация параметров риска. Оптимальные параметры TSI и RSI могут отличаться в зависимости от рынков, продуктов и временных рамок. Параметры необходимо оптимизировать для конкретных ситуаций.
Риск отмены тренда. Сама стратегия сосредоточена на тенденциях. Внезапные события, которые вызывают краткосрочные корректировки или среднесрочные и долгосрочные отмены тренда, приведут к большим потерям для стратегии.
Частые сигналы риска. По сравнению с параметрами по умолчанию, эта стратегия использует более агрессивную настройку параметров, которая может генерировать более частые торговые сигналы, приводящие к более высоким торговым затратам и трудностям в реализации.
Стратегия может быть оптимизирована в следующих аспектах:
Дальнейшая фильтрация сигналов путем сочетания с скользящими средними и другими индикаторами для уменьшения частоты торговли.
Испытать оптимальное сочетание параметров ТСОС и РСИ на разных рынках и продуктах, чтобы найти оптимальные параметры.
Увеличить стратегию стоп-лосса для контроля риска однократного убытка.
Оптимизировать управление позициями, увеличивать позиции, когда тренд сильнее, и уменьшать позиции, когда тренд становится слабым.
Стратегия TRMMA сочетает в себе индикаторы TSI и RSI для определения времени входа и выхода, с сильной способностью улавливать тенденции. По сравнению с использованием TSI или RSI в одиночку, она может эффективно отфильтровывать ложные сигналы. Стабильность стратегии может быть еще больше повышена за счет оптимизации параметров, стратегий стоп-лосса, управления позициями и т. Д. Стратегия подходит для инвесторов с некоторой количественной основой, которые стремятся к высокой доходности.
/*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")