Stratégie de moyenne mobile relative réelle

Auteur:ChaoZhang est là., Date: 2024-01-30 16h04:19
Les étiquettes:

img

Résumé

La stratégie TRMMA (True Relative Movement Moving Average) est une stratégie de suivi de tendance qui combine l'indice de force relative (RSI) et l'indice de force réelle (TSI).

Principaux

La stratégie se compose principalement des éléments suivants:

  1. STI Calcul Calculer la valeur exponentielle lissée du taux d'évolution des prix par doubles lissages exponentiels, puis la diviser par la valeur exponentielle lissée du taux absolu d'évolution des prix pour obtenir l'indicateur TSI.

  2. Calcul de l'indice de résistance Indicateur RSI avec prix de clôture comme entrée et durée de 5 jours.

  3. Le jugement de signalisation Un signal d'achat est généré lorsque le TSI traverse au-dessus de sa ligne de signal et que le RSI traverse au-dessus de 50. Un signal de vente est généré lorsque le TSI traverse en dessous de sa ligne de signal et que le RSI traverse en dessous de 50.

  4. Couleur du chandelier Colorez les chandeliers en fonction des signaux pour vous aider à juger.

  5. Paramètres de stratégie Définissez des paramètres comme le ratio de position et le capital.

Analyse des avantages

La stratégie combine les indicateurs TSI et RSI pour juger efficacement des tendances du marché et des situations de surachat/survente, générant ainsi des signaux de négociation. Par rapport à l'utilisation de TSI ou RSI seul, elle peut filtrer plus de faux signaux. En outre, par rapport aux paramètres par défaut, cette stratégie adopte un réglage plus agressif des paramètres TSI et RSI pour obtenir des signaux de négociation plus tôt et de meilleure qualité.

Analyse des risques

Les principaux risques de cette stratégie sont les suivants:

  1. Optimisation des paramètres de risque. Les paramètres optimaux de la STI et de l'IRS peuvent varier selon les marchés, les produits et les délais. Les paramètres doivent être optimisés pour des situations spécifiques.

  2. Le risque d'inversion de tendance. La stratégie elle-même se concentre sur les tendances. Les événements soudains qui provoquent des ajustements à court terme ou des inversions de tendance à moyen et long terme entraîneront de plus grandes pertes pour la stratégie.

  3. Risque de signaux fréquents. Par rapport aux paramètres par défaut, cette stratégie utilise un paramètre plus agressif, ce qui peut générer des signaux de trading plus fréquents, ce qui entraîne des coûts de trading plus élevés et des difficultés de mise en œuvre.

Directions d'optimisation

La stratégie peut être optimisée dans les aspects suivants:

  1. Filtrer davantage les signaux en les combinant avec des moyennes mobiles et d'autres indicateurs pour réduire la fréquence des transactions.

  2. Tester la combinaison optimale des paramètres de la STI et de l'IRR sur différents marchés et produits afin de trouver les meilleurs paramètres.

  3. Augmenter les stratégies de stop loss pour contrôler le risque de perte unique.

  4. Optimiser la gestion des positions, augmenter les positions lorsque la tendance est plus forte et réduire les positions lorsque la tendance devient faible.

Conclusion

La stratégie TRMMA combine les indicateurs TSI et RSI pour déterminer le moment d'entrée et de sortie, avec une forte capacité de capture de tendance. Par rapport à l'utilisation de TSI ou RSI seul, elle peut filtrer efficacement les faux signaux. La stabilité de la stratégie peut être encore améliorée grâce à l'optimisation des paramètres, aux stratégies de stop loss, à la gestion de position, etc. La stratégie convient aux investisseurs ayant une base quantitative qui recherchent des rendements élevés.


/*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")





Plus de