
La stratégie permet de déterminer la tendance des prix et de générer des signaux de négociation en calculant les moyennes de classement des RSI, des indices du signe positif et du signe négatif et des pourcentages de variation des prix, en construisant un indice composite CRSI personnalisé et en calculant sa moyenne mobile simple (MA).
La stratégie commence par calculer le RSI de 3 jours pour déterminer si le prix est trop chaud ou trop froid; en même temps, il calcule l’indicateur de la dynamique solaire et solaire du prix pour déterminer la dynamique du mouvement du prix; en outre, il calcule le pourcentage de classement du ROC du prix pour déterminer la vitesse de variation relative du prix. Puis, en prenant la moyenne de ces trois indicateurs, il construit un indicateur de synthèse personnalisé CRSI.
La stratégie consiste à combiner plusieurs indicateurs pour construire un indicateur CRSI personnalisé, ce qui rend le signal de négociation plus fiable. Le RSI peut déterminer si le prix est trop chaud ou trop froid, l’indicateur RSI peut déterminer la dynamique des prix et le ROC peut déterminer la vitesse de variation des prix. Les combiner pour former un indicateur CRSI rend le signal de négociation plus complet et plus fiable.
La stratégie utilise plusieurs indicateurs pour la combinaison, mais il est possible de produire des signaux erronés dans un environnement de marché particulier. Par exemple, dans des conditions de choc, les indicateurs tels que RSI, ROC peuvent produire des signaux d’achat et de vente fréquents, alors que le prix n’est pas vraiment une tendance évidente; ou après un événement soudain, plusieurs indicateurs peuvent avoir un risque de retard et de retard dans la génération de signaux de trading.
Les aspects suivants peuvent être considérés pour optimiser cette stratégie: 1) optimiser les paramètres du RSI, de l’indicateur positif et négatif et du ROC, ce qui rend le CRSI plus stable et plus fiable; 2) ajouter d’autres indicateurs auxiliaires dans la combinaison, tels que KDJ, MACD, etc., ce qui rend le signal plus complet; 3) optimiser les paramètres de la MA, ce qui réduit le risque de retard; 4) augmenter les conditions d’arrêt pour contrôler les pertes individuelles; 5) combiner des indicateurs à plus long terme pour juger de la tendance et éviter de négocier fréquemment dans des marchés volatiles.
Cette stratégie permet d’effectuer des opérations de vente et d’achat lorsque la MA correspond à des niveaux de prix donnés, en calculant le RSI, les lignes de résonance et le ROC, la construction d’indicateurs CRSI personnalisés, puis le calcul de la MA du CRSI. Cette combinaison multicomposante peut rendre le signal de négociation plus stable et plus fiable. Cependant, la stratégie nécessite encore d’optimiser davantage les paramètres, d’ajouter des indicateurs auxiliaires et des conditions de filtrage pour réduire l’impact des signaux erronés et de l’environnement du marché et améliorer la stabilité de la rentabilité.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
src = close, lenrsi = 3, lenupdown = 2, lenroc = 100, malengt = 2, low = 40, high = 70, a = 1, vlow = 20
updown(s) =>
isEqual = s == s[1]
isGrowing = s > s[1]
ud = 0.0
ud := isEqual ? 0 : isGrowing ? (nz(ud[1]) <= 0 ? 1 : nz(ud[1])+1) : (nz(ud[1]) >= 0 ? -1 : nz(ud[1])-1)
ud
rsi = rsi(src, lenrsi)
updownrsi = rsi(updown(src), lenupdown)
percentrank = percentrank(roc(src, 1), lenroc)
crsi = avg(rsi, updownrsi, percentrank)
MA = sma(crsi, malengt)
band1 = 70
band0 = 40
band2 = 20
ColorMA = MA>=band0 ? lime : red
p1 = plot(MA, title="BuyNiggers", style=line, linewidth=4, color=ColorMA)
p2 = plot(low, title="idk", style=line, linewidth=2, color=blue)
p3 = plot(high, title="idk2", style=line, linewidth=2, color=orange)
p4 = plot(vlow, title="idk3", style=line, linewidth=1, color=red)
//@version=2
strategy("CMARSI")
if crossover(MA, band0)
strategy.entry("buy", strategy.long, 1, when=strategy.position_size <= 0)
if crossunder(MA, band1)
strategy.exit("close", "buy", 1, profit=1, stop=1)
plot(strategy.equity)