Stratégie d'indicateur de puissance double


Date de création: 2023-11-20 09:47:41 Dernière modification: 2023-11-20 09:47:41
Copier: 0 Nombre de clics: 564
1
Suivre
1617
Abonnés

Stratégie d’indicateur de puissance double

Aperçu

Cette stratégie utilise l’indicateur de concentration des moyennes mobiles (MACD) et l’indicateur de force relative (RSI) pour définir des conditions d’achat et de vente afin de capturer les opportunités de retournement des cours des actions.

Principe de stratégie

  1. Calculer l’indicateur MACD, y compris les lignes rapides, les lignes lentes et les lignes de signaux.

  2. Calculer le RSI et définir les seuils de zone de survente et de zone de survente.

  3. Les conditions d’achat et de vente sont déterminées par un jugement de zone de survente combiné avec les signaux de décalage horaire de l’indicateur MACD et de l’indicateur RSI:

  • Conditions d’achat: le MACD forme une fourchette sur la ligne rapide, tandis que le RSI vient de revenir de la zone de survente, avec un signal de retour;

  • Conditions de vente: le MACD passe sous la ligne rapide pour former une fourche morte, tandis que l’indicateur RSI entre dans la zone de survente et a un signal de revers.

  1. Il est possible d’utiliser simultanément les deux indicateurs de force pour acheter et vendre avec précision au point de basculement.

Analyse des avantages

  1. L’indicateur MACD permet de déterminer la tendance des cours des actions et le moment où il faut acheter ou vendre. L’indicateur RSI permet de déterminer le moment où il faut acheter ou vendre.

  2. Le filtrage des signaux de deux indicateurs permet d’éviter les faux signaux générés par un seul indicateur.

  3. Le MACD, combiné au RSI, peut être acheté avant le point de basculement et vendu après le point de basculement pour saisir l’opportunité de basculement.

  4. La stratégie fonctionne à une fréquence modérée, permettant de suivre les tendances et de capturer les inversions, et d’être flexible.

Analyse des risques

  1. Les indicateurs MACD sont susceptibles de produire de faux signaux dans des situations de choc. Les paramètres de l’indicateur RSI doivent être optimisés, sinon des faux signaux apparaîtront également.

  2. Les cours des actions peuvent être très volatiles à court terme, et les points de rupture de la stratégie entraînent des pertes.

  3. Il est nécessaire d’optimiser les paramètres du RSI et du MACD, sinon il peut y avoir trop ou pas assez de signaux.

  4. Les transactions en bourse nécessitent une gestion rigoureuse du capital et un contrôle des risques.

Direction d’optimisation

  1. Optimiser le réglage de la moyenne lente des paramètres MACD pour trouver la combinaison optimale de paramètres.

  2. Optimiser les seuils de survente et de survente du RSI afin d’éviter de faux signaux.

  3. Adhésion à un mécanisme de prévention des pertes pour contrôler les pertes individuelles.

  4. Il est possible d’envisager d’ajouter d’autres indicateurs, tels que la bande de Brin, le KDJ, etc., pour former un filtre multiple.

  5. Vous pouvez tester différentes stratégies d’achat et de vente, telles que des stratégies de rupture, des stratégies de suivi de tendances, etc.

Résumer

Cette stratégie utilise simultanément le MACD et le RSI, deux indicateurs de force, qui sont achetés et vendus au point de basculement, avec une forte valeur réelle. Cependant, il est nécessaire d’optimiser en permanence les paramètres de configuration et de bien gérer strictement les fonds pour obtenir de bons résultats sur le marché réel.

Code source de la stratégie
/*backtest
start: 2022-11-13 00:00:00
end: 2023-11-19 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)