
La TRMMA est une stratégie de suivi de tendance qui combine l’indice de force relative (RSI) et l’indice de force réelle (TSI). Elle utilise les indicateurs RSI et TSI comme signaux d’achat et de vente, en plus d’optimiser la stratégie avec des moyennes mobiles.
La stratégie est principalement composée des éléments suivants:
Calcul de la STI On obtient l’indicateur TSI en calculant la valeur de l’indicateur de la fluctuation des prix par l’équilibrage à double indice, puis en divisant la valeur de l’indicateur de la fluctuation des prix par la valeur absolue de la fluctuation des prix. La période longue est de 25 jours, la période courte est de 5 jours et la ligne de signaux est de 14 jours.
Calcul du RSI L’indicateur RSI de longueur 5 avec le prix de clôture comme entrée.
Décision du signal Il s’agit d’un signal d’achat lorsqu’un TSI traverse sa ligne de signaux et que le RSI dépasse 50. Il s’agit d’un signal de vente lorsqu’un TSI traverse sa ligne de signaux et que le RSI dépasse 50.
Couleur de la ligne K La couleur de la ligne K est déterminée en fonction du signal, le jugement auxiliaire.
Paramètres de la stratégie Paramètres tels que le ratio de position et le capital.
La stratégie combine deux indicateurs, TSI et RSI, pour déterminer efficacement les tendances du marché et les situations de survente et de survente, afin de générer des signaux de négociation. En outre, la stratégie utilise des paramètres TSI et RSI plus radicaux que les paramètres par défaut, ce qui permet d’obtenir des signaux de négociation plus précoces et de meilleure qualité.
La stratégie présente principalement les risques suivants:
Les paramètres d’optimisation des risques. Les paramètres optimaux du TSI et du RSI peuvent varier selon les marchés, les variétés et les périodes.
Risque de renversement de tendance. La stratégie elle-même est axée sur la tendance et risque de subir des pertes importantes si un événement soudain entraîne une correction à court terme ou une reprise de tendance à moyen ou long terme.
La stratégie utilise des paramètres plus radicaux que les paramètres par défaut, ce qui peut générer des signaux de transaction plus fréquents, entraînant des coûts de transaction plus élevés et une difficulté de réalisation.
Cette stratégie peut être optimisée dans les domaines suivants:
Les indicateurs tels que les moyennes mobiles sont utilisés pour filtrer davantage les signaux afin de réduire la fréquence des transactions.
Tester les combinaisons optimales de paramètres TSI et RSI pour différents marchés et variétés afin de trouver le meilleur réglage des paramètres.
Augmentation des stratégies de stop loss pour contrôler le risque de pertes individuelles.
Optimiser la gestion des positions, augmenter les positions lorsque la tendance est forte et réduire les positions lorsque la tendance est faible.
La stratégie TRMMA, combinée aux indicateurs TSI et RSI, permet de déterminer le moment d’achat et de vente et de capturer les tendances. Elle permet de filtrer efficacement les fausses signaux par rapport à l’utilisation de TSI ou RSI seule. La stabilité de la stratégie peut être encore améliorée par l’optimisation des paramètres, la stratégie de stop loss et la gestion de la position.
/*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")