Stratégie de trading Bitcoin à court terme basée sur le True Strength Index


Date de création: 2023-10-07 15:12:08 Dernière modification: 2023-10-07 15:12:08
Copier: 0 Nombre de clics: 782
1
Suivre
1617
Abonnés

Aperçu

Cette stratégie permet de réaliser des transactions de courte durée sur Bitcoin en calculant le True Strength Index (TSI) pour identifier les tendances du marché, et en combinant le filtrage RSI pour effectuer plus de prises de position. Cette stratégie convient aux investisseurs qui effectuent des transactions programmées sur le marché Bitcoin au cas par cas.

Principe de stratégie

La stratégie est basée sur l’indicateur de force et de faiblesse réelle (TSI). L’indicateur TSI mesure la taille et la direction de la variation absolue des prix à l’aide du taux de variation des prix en doubles glissades, permettant ainsi d’identifier la force absolue des hausses et des baisses de prix.

  1. Calculer le taux de variation des prix Pc
  2. Le PC est doublement lissé en utilisant l’EMA à long terme et l’EMA à court terme, générant un double_smoothed_pc
  3. Double lissage de la valeur absolue PC, générant double_smoothed_abs_pc
  4. La valeur TSI est double_smoothed_pc divisé par double_smoothed_abs_pc multiplié par 100

Le TSI génère des signaux de plus ou de moins quand il traverse sa ligne de signal ts2 en haut, et des signaux de creux quand il traverse sa ligne de signal ts2 en bas. De plus, la stratégie combine le filtrage des signaux de transaction du RSI avec celui du RSI, qui ne génère des signaux de plus ou de moins que lorsque le RSI est supérieur à 50 et un signal de creux lorsque le RSI est inférieur à 50, afin de filtrer certains signaux de faux.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. L’indicateur TSI est capable d’identifier l’intensité et la direction absolues des variations de prix et est plus sensible à la capture des tendances.
  2. Les doubles EMA permettent d’assouplir le taux de variation des prix, d’éliminer efficacement le bruit des variations de prix et de ne pas être sensible aux événements inattendus.
  3. En combinaison avec le filtrage de l’indicateur RSI, il est possible d’éviter davantage de transactions erronées causées par le bruit.
  4. Le système de négociation en ligne courte permet de saisir les opportunités à court terme du marché.
  5. Les paramètres de stratégie ont beaucoup de place et peuvent être optimisés en ajustant des paramètres tels que la période EMA.

Analyse des risques

La stratégie présente également les risques suivants:

  1. Le TSI est un indicateur de suivi de tendance qui est en retard et peut manquer le point de basculement.
  2. Les conditions de filtrage du RSI sont trop strictes et peuvent laisser passer certaines opportunités de trading.
  3. Les filtres à double EMA peuvent également filtrer certains signaux de trading valides.
  4. Les transactions en ligne courte ont une fréquence de transaction plus élevée, entraînant des coûts de transaction plus élevés et un risque de glissement.

Il est possible d’atténuer les effets de la houle et les problèmes de retard en assouplissant les conditions de filtrage du RSI, en raccourcissant les cycles EMA, etc. Tout en optimisant la stratégie de stop loss et en contrôlant strictement le risque d’une seule transaction.

Direction d’optimisation

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Optimiser les paramètres du TSI et du RSI pour trouver la meilleure combinaison de paramètres. Vous pouvez ajuster les cycles EMA plus longs, les paramètres RSI, etc.

  2. Ajouter d’autres indicateurs pour former un modèle multifacteur. Par exemple, les indicateurs MA, KD et autres peuvent être ajoutés pour tirer pleinement parti des avantages de chaque indicateur.

  3. Optimiser les conditions d’entrée, éviter les collisions entre les marchés à capitaux multiples et les marchés à capitaux multiples. La direction peut être déterminée en fonction de la tendance du grand cycle.

  4. Optimiser les stratégies de stop-loss, par exemple en déplaçant le stop-loss, le stop-loss dans le temps, le stop-loss de rupture, etc.

  5. Optimiser les conditions de départ pour éviter que les dommages ne se produisent trop tôt ou trop tard. Le moment de départ peut être déterminé en combinant les indicateurs de volatilité.

  6. Optimisation des variétés et des périodes de négociation, concentration sur les variétés et les périodes de négociation les plus efficaces.

Résumer

Cette stratégie identifie les tendances à court terme de Bitcoin à l’aide d’indicateurs de force réelle et de faiblesse, et est complétée par des signaux de filtrage de l’indicateur RSI, ce qui permet d’effectuer efficacement des transactions programmées en ligne courte de Bitcoin. La stratégie a l’avantage d’identifier les tendances sensibles et d’éliminer le bruit, mais il existe également certains problèmes de retard et des risques de négociation.

Code source de la stratégie
/*backtest
start: 2022-09-30 00:00:00
end: 2023-10-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


// strategy("True Strength Indicator BTCUSD 15p", shorttitle="TSI BTCUSD 15p",initial_capital=1000, commission_value=0.15, commission_type =strategy.commission.percent, default_qty_value=100 , overlay = false, pyramiding=10, default_qty_type=strategy.percent_of_equity)

//BASED ON True Strength Indicator MTF
resCustom = input(title="Timeframe",  defval="15" )
long = input(title="Long Length",  defval=25)
short = input(title="Short Length",  defval=13)
signal = input(title="Signal Length",  defval=13)
price = request.security(syminfo.tickerid,resCustom,close)


double_smooth(src, long, short) =>
    fist_smooth = ta.ema(src, long)
    ta.ema(fist_smooth, short)
pc = ta.change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(math.abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
tsi2=ta.ema(tsi_value, signal)
plot(tsi_value, color=color.lime,linewidth=2)
plot(tsi2, color=color.red,linewidth=2)




rsiserie = ta.rsi(price,7)
cciserie = ta.cci(price,14)
stochserie = ta.stoch(price,14,3,3)

plot(rsiserie,color=color.purple)



hline(30, title="Zero")
hline(50, title="Zero",linestyle=hline.style_solid, linewidth=2)
hline(70, title="Zero")

buy = ta.crossover(tsi_value, tsi2) //and rsiserie[1]<25 //and cciserie<-100 and stochserie<20
sell = ta.crossunder(tsi_value, tsi2) //and rsiserie[1]>85 //and cciserie>100 and stochserie>80


alertcondition(buy, title='TSI system', message='Buy signal at!' )
alertcondition(sell, title='TSI system', message='Sell signal at!' )

strategy.entry("BUY", strategy.long, 1, when = buy)
strategy.entry("SELL", strategy.short, 1, when = sell ) 

greentsi =tsi_value
redtsi = tsi2

bgcolor( greentsi>redtsi and rsiserie > 50 ? color.lime : na, transp=90)
bgcolor( greentsi<redtsi and rsiserie < 50 ? color.red : na, transp=90)

yellow1= redtsi > greentsi and rsiserie > 50 
yellow2 = redtsi < greentsi and rsiserie < 50 
bgcolor( yellow1 ? yellow : na, transp=80)
bgcolor( yellow2  ? yellow : na, transp=50)

bgcolor( yellow1 and yellow1[1] ? yellow : na, transp=70)
bgcolor( yellow2  and yellow2[2] ? yellow : na, transp=70)

bgcolor( rsiserie > 70 ? color.lime : na, transp=60)
bgcolor( rsiserie < 30  ? color.red : na, transp=60)