- Carré
- Stratégie de négociation de renversement de l'élan
Stratégie de négociation de renversement de l'élan
Auteur:
ChaoZhang est là.Les étiquettes:
Résumé
La logique de la stratégie
Analyse des avantages
- Utilise la capacité du RSI à juger le surachat/survente pour identifier efficacement les renversements
- Affiche la variation en pourcentage depuis le dernier signal pour évaluer l'efficacité des renversements
Analyse des risques
- Possibilité de faux signaux lorsque l'inversion n'est pas effectivement déclenchée
- Probabilité plus élevée d'échec de l'indice de volatilité dans les périodes de forte volatilité
- Les zones de seuil doivent être correctement ajustées pour réduire les faux signaux
Directions d'optimisation
- Ajouter un stop loss pour contrôler les pertes de transaction unique
- Combiner avec les moyennes mobiles, etc., pour éviter de fausses ruptures
- Périodes d'essai RSI de longueurs différentes
- Ajouter la gestion des positions pour une croissance exponentielle des positions rentables
Résumé
/*backtest
start: 2023-01-19 00:00:00
end: 2024-01-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Improved RSI Strategy", overlay=true)
// Define RSI parameters
rsiLength = input(14, title="RSI Length")
rsiOversold = input(30, title="Oversold Threshold")
rsiOverbought = input(70, title="Overbought Threshold")
// Calculate RSI
rsiValue = ta.rsi(close, rsiLength)
// Define entry conditions
longCondition = ta.crossover(rsiValue, rsiOversold)
shortCondition = ta.crossunder(rsiValue, rsiOverbought)
// Plot RSI and thresholds
plot(rsiValue, title="RSI", color=color.blue)
hline(rsiOversold, title="Oversold Threshold", color=color.red)
hline(rsiOverbought, title="Overbought Threshold", color=color.green)
// Calculate percentage change since last signal
var float percentageChange = na
lastCloseValue = ta.valuewhen(longCondition or shortCondition, close, 1)
if longCondition or shortCondition
percentageChange := (close - lastCloseValue) / lastCloseValue * 100
plot(percentageChange, color=color.blue, style=plot.style_histogram, linewidth=1, title="% Change since last signal")
// Execute strategy
if longCondition
strategy.entry("RSI Long", strategy.long)
if shortCondition
strategy.entry("RSI Short", strategy.short)
// Plot shapes and text for buy/sell signals
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
Plus de