Stratégie de croisement MACD et RSI

Auteur:ChaoZhang est là., Date: 2024-01-23 15h26min
Les étiquettes:

img

Résumé

Cette stratégie génère des signaux de trading en calculant le croisement des indicateurs MACD et RSI. Elle produit des signaux d'achat et de vente lorsque le RSI est suracheté ou survendu et que le croisement MACD se produit. La stratégie combine les avantages de deux types d'indicateurs différents, en tenant compte à la fois de la tendance des prix et des situations de surachat/survente, améliorant ainsi l'efficacité de la stratégie.

Principe de stratégie

La stratégie utilise principalement la combinaison des indicateurs MACD et RSI pour générer des signaux de trading.

La stratégie calcule d'abord la ligne rapide, la ligne lente et la ligne de signal du MACD. Lorsque la ligne rapide est supérieure à la ligne lente, un signal de croix dorée est généré. Lorsque la ligne rapide est inférieure à la ligne lente, un signal de croix de mort est généré. Cela indique que la tendance et l'élan des prix changent.

En même temps, la stratégie calcule l'indicateur RSI et définit des lignes de surachat et de survente. Lorsque l'indicateur RSI est inférieur à la ligne de survente, il indique une survente. Lorsque l'indicateur RSI est supérieur à la ligne de surachat, il indique une surachat.

Lorsque l'indicateur RSI est suracheté / survendu, la stratégie génère des signaux d'achat lorsque le MACD se produit en croisement doré et génère des signaux de vente lorsque le MACD se produit en croisement mortel.

Analyse des avantages

La stratégie combine les avantages des indicateurs MACD et RSI pour améliorer son efficacité:

  1. Le MACD peut capturer de manière sensible les variations de prix, tandis que le RSI considère les situations de surachat/survente, qui se complètent mutuellement.

  2. La combinaison des deux indicateurs peut filtrer certains signaux commerciaux bruyants et réduire les transactions inutiles.

  3. Le MACD mesure la différence entre les moyennes mobiles, tandis que le RSI mesure la proportion des variations de prix, les deux méthodes peuvent se vérifier mutuellement.

  4. Le MACD réagit rapidement aux variations de prix, tandis que les divergences entre les indices RSI suracheté/survendu sont évidentes, un bon effet combiné.

Risques et solutions

Cette stratégie comporte également certains risques:

  1. Les paramètres peuvent être ajustés pour filtrer les signaux.

  2. L'effet sur les stocks individuels peut ne pas être idéal, des indices ou des portefeuilles peuvent être envisagés.

  3. La satisfaction à la fois du croisement MACD et du RSI suracheté/survendu peut manquer certaines opportunités.

Directions d'optimisation

La stratégie peut également être optimisée dans les aspects suivants:

  1. Optimiser les paramètres MACD et RSI pour les adapter aux différentes variétés de négociation.

  2. Ajoutez une stratégie de stop loss pour arrêter la perte à temps lorsque les pertes atteignent un certain pourcentage.

  3. Combiner avec d'autres indicateurs tels que les bandes de Bollinger et KDJ pour définir des conditions de signaux de négociation plus strictes.

  4. Exécutez la stratégie à haute fréquence afin d'utiliser les propriétés rapide/lente du MACD et d'améliorer les performances de la stratégie.

  5. En fonction des résultats des tests antérieurs, ajuster les lignes de RSI surachetées/survendues pour trouver les meilleures combinaisons de paramètres.

Résumé

La stratégie de croisement MACD et RSI combine le suivi de tendance et le jugement de surachat/survente, ce qui peut capturer efficacement les points d'inversion des prix et améliorer les performances de la stratégie.


/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// © sabirt
strategy(title='MACD and RSI', overlay=true, shorttitle='MACD&RSI')
//MACD Settings
fastMA = input.int(title='Fast moving average', defval=12, minval=1)
slowMA = input.int(title='Slow moving average', defval=26, minval=1)
signalLength = input.int(9, minval=1)

//RSI settings
RSIOverSold = input.int(35, minval=1)
RSIOverBought = input.int(80, minval=1)
src = close
len = input.int(14, minval=1, title='Length')
up = ta.rma(math.max(ta.change(src), 0), len)
down = ta.rma(-math.min(ta.change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
wasOversold = rsi[0] <= RSIOverSold or rsi[1] <= RSIOverSold or rsi[2] <= RSIOverSold or rsi[3] <= RSIOverSold or rsi[4] <= RSIOverSold or rsi[5] <= RSIOverSold
wasOverbought = rsi[0] >= RSIOverBought or rsi[1] >= RSIOverBought or rsi[2] >= RSIOverBought or rsi[3] >= RSIOverBought or rsi[4] >= RSIOverBought or rsi[5] >= RSIOverBought



[currMacd, _, _] = ta.macd(close[0], fastMA, slowMA, signalLength)
[prevMacd, _, _] = ta.macd(close[1], fastMA, slowMA, signalLength)
signal = ta.ema(currMacd, signalLength)

avg_1 = math.avg(currMacd, signal)
crossoverBear = ta.cross(currMacd, signal) and currMacd < signal ? avg_1 : na
avg_2 = math.avg(currMacd, signal)
crossoverBull = ta.cross(currMacd, signal) and currMacd > signal ? avg_2 : na

strategy.entry('buy', strategy.long, when=crossoverBull and wasOversold)
strategy.close('buy', when=crossoverBear and wasOverbought)



Plus de