- Carré
- Les VWAP et le RSI utilisent des bandes de Bollinger dynamiques pour réaliser des bénéfices et des arrêts de pertes
Les VWAP et le RSI utilisent des bandes de Bollinger dynamiques pour réaliser des bénéfices et des arrêts de pertes
Auteur:
ChaoZhang est là., Date: 14 juin 2024
Les étiquettes:
VWAPIndice de résistanceBBATR
Résumé
Cette stratégie combine trois indicateurs techniques: VWAP (Volume Weighted Average Price), RSI (Relative Strength Index) et Bollinger Bands, pour mettre en œuvre une stratégie de trading quantitative simple et facile à utiliser avec une prise de profit et un stop loss dynamiques.
Principe de stratégie
- Calculer les valeurs des indicateurs techniques VWAP, RSI et bandes de Bollinger.
- Déterminez si la tendance des prix est à la hausse, à la baisse ou latéralement en évaluant la relation entre le prix de clôture et le VWAP au cours des 15 dernières bougies.
- Si le prix est inférieur à la bande de Bollinger inférieure, le RSI est inférieur à 45 et le signal VWAP montre une tendance à la baisse, un signal long est généré; si le prix est supérieur à la bande de Bollinger supérieure, le RSI est supérieur à 55 et le signal VWAP montre une tendance à la hausse, un signal court est généré.
- Une fois qu'un signal de négociation est déterminé, la stratégie calcule les niveaux de prise de profit et d'arrêt de perte sur la base de l'indicateur ATR, avec un ratio prise de profit et arrêt de perte de 1,5:1.
- Si une position longue est détenue, lorsque le RSI est supérieur ou égal à 90, la stratégie ferme la position longue; si une position courte est détenue, lorsque le RSI est inférieur ou égal à 10, la stratégie ferme la position courte.
Les avantages de la stratégie
- En combinant plusieurs indicateurs techniques, la fiabilité des signaux de négociation est améliorée.
- L'utilisation de la prise de profit dynamique et de l'arrêt de perte peut contrôler efficacement le risque et verrouiller les bénéfices.
- La structure du code est claire et facile à comprendre et à optimiser.
- Applicable à divers environnements de marché, y compris les marchés tendance et latéraux.
Risques stratégiques
- En période de forte volatilité du marché, les transactions fréquentes peuvent entraîner des coûts de transaction élevés.
- Si le marché connaît des événements inattendus ou un comportement irrationnel, la stratégie peut générer des signaux de trading incorrects.
- Il peut être nécessaire d'ajuster les paramètres de la stratégie en fonction des différents environnements du marché afin d'assurer son efficacité.
Directions d'optimisation de la stratégie
- Essayez d'ajuster les paramètres de VWAP, RSI et Bollinger Bands pour les adapter à différents environnements de marché et instruments de négociation.
- Introduire d'autres indicateurs techniques, tels que le MACD, le KDJ, etc., afin d'améliorer encore la fiabilité des signaux de négociation.
- Optimiser la méthode de calcul des prises de bénéfices et des arrêts de perte, par exemple en utilisant un arrêt de perte de suivi ou un arrêt de perte de protection des bénéfices, afin de mieux contrôler le risque et de verrouiller les bénéfices.
- Combiner l'analyse fondamentale, telle que les données économiques et les changements de politique, afin d'améliorer la performance globale de la stratégie.
Résumé
Cette stratégie combine trois indicateurs techniques: VWAP, RSI et Bollinger Bands, pour mettre en œuvre une stratégie de trading quantitative simple et facile à utiliser.
/*backtest
start: 2024-06-06 00:00:00
end: 2024-06-13 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("VWAP and RSI Strategy", overlay=true)
// VWAP calculation
vwap = ta.vwap(close)
// RSI calculation
rsi_length = 16
rsi = ta.rsi(close, rsi_length)
// Bollinger Bands calculation
bb_length = 14
bb_std = 2.0
[bb_middle, bb_upper, bb_lower] = ta.bb(close, bb_length, bb_std)
// Variables for VWAP signal calculation
backcandles = 15
float vwapsignal = na
// Function to check if last 15 candles are above or below VWAP
calc_vwapsignal(backcandles) =>
upt = true
dnt = true
for i = 0 to backcandles - 1
if close[i] < vwap[i]
upt := false
if close[i] > vwap[i]
dnt := false
if upt and dnt
3
else if upt
2
else if dnt
1
else
0
// Calculate VWAP signal for each bar
vwapsignal := calc_vwapsignal(backcandles)
// Calculate total signal
totalsignal = 0
if vwapsignal == 2 and close <= bb_lower and rsi < 45
totalsignal := 2
else if vwapsignal == 1 and close >= bb_upper and rsi > 55
totalsignal := 1
// Define strategy entry and exit conditions
slatr = 1.2 * ta.atr(7)
TPSLRatio = 1.5
if (totalsignal == 2 and strategy.opentrades == 0)
strategy.entry("Long", strategy.long, stop=close - slatr, limit=close + slatr * TPSLRatio)
if (totalsignal == 1 and strategy.opentrades == 0)
strategy.entry("Short", strategy.short, stop=close + slatr, limit=close - slatr * TPSLRatio)
// Additional exit conditions based on RSI
if (strategy.opentrades > 0)
if (strategy.position_size > 0 and rsi >= 90)
strategy.close("Long")
if (strategy.position_size < 0 and rsi <= 10)
strategy.close("Short")
Relationnée
Plus de