Tendance de l'indice de risque suivant la stratégie

Auteur:ChaoZhang est là., Date: le 26 octobre 2023 à 15h44h15
Les étiquettes:

img

Résumé

Cette stratégie conçoit un système de négociation simple basé sur l'indicateur RSI, qui peut déterminer la direction de la tendance du marché à travers l'indicateur RSI et mettre en œuvre des positions longues et courtes automatisées dans une plage de dates spécifique.

La logique de la stratégie

La stratégie utilise l'indicateur RSI pour déterminer la tendance du marché et les bandes de Bollinger pour confirmer les zones de surachat et de survente.

La valeur de l'indice de surachat est calculée en fonction de la moyenne mobile et de l'écart type de l'indice de surachat. L'indice de surachat et de survente est déterminé par l'écart type.

Lorsque le RSI passe de la bande inférieure à la bande supérieure, un signal d'achat est généré. Lorsque le RSI passe de la bande supérieure à la bande inférieure, un signal de vente est généré, pour suivre la tendance. Après être entré sur le marché, aucun stop loss ou take profit n'est défini jusqu'à ce que les positions soient fermées à la fin de la plage de dates spécifiée.

La stratégie utilise simplement et efficacement le RSI pour déterminer la direction de la tendance et les bandes de Bollinger pour identifier des opportunités de trading spécifiques.

Analyse des avantages

  • L'utilisation de l'indicateur RSI pour déterminer la direction de la tendance est simple et efficace
  • La combinaison des bandes de Bollinger pour confirmer les signaux de négociation évite de fausses ruptures
  • La définition d'une fourchette de dates de négociation permet d'éviter les risques de marché
  • Aucun stop loss ou profit, maximisant la tendance suivante
  • Réglage des paramètres flexible, s'adapte aux différents environnements du marché

Risques et optimisation

  • Le marché peut avoir des fluctuations violentes, conduisant à des pertes
  • Aucun stop loss ou prise de profit ne permet de contrôler efficacement les risques
  • Des paramètres mal réglés peuvent entraîner une survente ou des opportunités manquées

Directions d' optimisation:

  • Ajouter stop loss et take profit pour contrôler les risques
  • Optimiser les paramètres pour améliorer le taux de victoire
  • Ajouter d'autres indicateurs pour filtrer les signaux et éviter les fausses fuites
  • Ajustez dynamiquement la dimension de position

Résumé

En résumé, il s'agit d'une stratégie de suivi de tendance très simple et directe. En utilisant le RSI pour déterminer la tendance, les bandes de Bollinger pour filtrer les signaux et définir la plage de dates de négociation, vous pouvez suivre efficacement les tendances et contrôler les risques. Mais la stratégie peut être optimisée davantage. Tout en la gardant simple et efficace, des méthodes telles que le stop loss, l'optimisation des paramètres et le filtrage des signaux peuvent être ajoutées pour la rendre plus adaptée au trading en direct.


/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Gidra
//2018

//@version=2
strategy(title = "Gidra's RSI or MFI Strategy v0.1", shorttitle = "Gidra's RSI or MFI v0.1", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 1)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
src = input(close, title="source")
lengthRSI = input(14, title="RSI or MFI length")
// RSI %B
useRSI = input(true, title="use RSI or MFI")
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From Day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To Day")

//MFI
upper = sum(volume * (change(src) <= 0 ? 0 : src), lengthRSI)
lower = sum(volume * (change(src) >= 0 ? 0 : src), lengthRSI)
mf = rsi(upper, lower)

//RSI
rsi = useRSI?rsi(src, lengthRSI): mf

// %B
length = input(50, minval=1, title="BB length")
mult = input(1.618, minval=0.001, maxval=50)
basis = sma(rsi, length)
dev = mult * stdev(rsi, length)
upperr = basis + dev
lowerr = basis - dev
bbr = (rsi - lowerr)/(upperr - lowerr)

plot(bbr, color=black, transp=0, linewidth=2)
// band1 = hline(1, color=white, linestyle=dashed)
// band0 = hline(0, color=white, linestyle=dashed)
// fill(band1, band0, color=teal)
hline(0.5, color=white)

//Signals
up = bbr >= 0 and bbr[1] < 0
dn = bbr <= 1 and bbr[1] > 1
//exit = ((bbr[1] < 0.5 and bbr >= 0.5) or (bbr[1] > 0.5 and bbr <= 0.5))

lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59)// or exit
    strategy.close_all()

Plus de