Cette stratégie combine l'indicateur KDJ et l'indicateur RSI pour déterminer le moment des achats et des ventes.
La stratégie utilise le croisement de l'indicateur KDJ et de l'indicateur RSI pour juger du moment des achats et des ventes.
Plus précisément, lorsque la ligne J du KDJ traverse au-dessus de la ligne K de bas en haut, elle est considérée comme un signal d'achat. Et lorsque la ligne J traverse en dessous de la ligne K de haut en bas, c'est un signal de vente. Cela signifie acheter lorsque l'action passe de survente à surachat et vendre lorsqu'elle passe de surachat à survente.
Dans le même temps, la stratégie intègre l'indicateur RSI pour juger de la force des signaux. RSI inférieur à 30 est survendu et RSI supérieur à 70 est suracheté. Lorsque le KDJ émet un signal d'achat, si l'indicateur RSI montre également survendu, il améliore la fiabilité du signal d'achat. Inversement, lorsque le KDJ émet un signal de vente, si le RSI montre également suracheté, il améliore la fiabilité du signal de vente.
En résumé, cette stratégie génère des signaux de trading dans les situations suivantes:
Signaux d' achat:
Signaux de vente:
La combinaison de l'indicateur KDJ et de l'indicateur RSI rend les signaux de négociation plus fiables.
L'indicateur KDJ évalue l'état de surachat/survente, tandis que l'indicateur RSI évalue la force.
Des conditions multiples d'achat/de vente permettent d'éviter des occasions manquées pour des raisons issues d'un seul indicateur.
Les paramètres RSI sont définis sur 6, 12 et 24 périodes, qui conviennent à différents niveaux de cycle, ce qui rend la stratégie plus polyvalente.
L'indicateur KDJ et l'indicateur RSI peuvent donner de faux signaux, conduisant à des transactions inutiles.
Les conditions commerciales multiples augmentent la complexité des opérations stratégiques et nécessitent une vérification minutieuse.
La stratégie doit être testée et optimisée sur différents marchés, et les paramètres doivent être ajustés.
Testez en ajoutant d'autres indicateurs comme les bandes de Bollinger pour renforcer les signaux de trading.
Optimiser les paramètres du KDJ et du RSI pour les adapter à différents niveaux de cycle.
Augmenter les normes de stop loss pour contrôler les risques.
Ajouter des mécanismes automatiques de stop loss pour arrêter la perte lorsque les prix s'inversent.
Cette stratégie combine les avantages de l'indicateur KDJ et de l'indicateur RSI en utilisant le croisement des deux indicateurs pour déterminer le moment des achats et des ventes, ce qui améliore la précision des signaux de trading. L'utilisation d'indicateurs RSI avec différents paramètres rend également la stratégie plus polyvalente. Cette stratégie évite efficacement le risque de faux signaux pouvant survenir avec un seul indicateur. En améliorant les paramètres, en ajoutant des indicateurs auxiliaires, des mécanismes de stop loss, etc., la performance de cette stratégie peut être encore améliorée.
/*backtest start: 2022-11-20 00:00:00 end: 2023-11-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © innocentChart76064 //@version=5 strategy(title = "buy/sell KDJ RSI", overlay=true) //Define KDJ parameter kdj_length = input(9, title = "KDJ length") signal = input(3,title="signal") // Calculate KDJ values bcwsma(s,l,m) => _bcwsma = float(na) _s = s _l = l _m = m _bcwsma := (_m*_s+(_l-_m)*nz(_bcwsma[1]))/_l _bcwsma c = close h = ta.highest(high, kdj_length) l = ta.lowest(low,kdj_length) RSV = 100*((c-l)/(h-l)) kdj_k = bcwsma(RSV, signal, 1) kdj_d = bcwsma(kdj_k, signal, 1) kdj_j = 3 * kdj_k-2 * kdj_d //Define RSI parameter rsi_length_1 = input(6) rsi_length_2 = input(12) rsi_length_3 = input(24) price = close //Calculate RSI values rsi_1 = ta.rsi(price, rsi_length_1) rsi_2 = ta.rsi(price, rsi_length_2) rsi_3 = ta.rsi(price, rsi_length_3) // Trading conditions longCondition = ta.crossover(kdj_j,kdj_k) and rsi_1 > rsi_2 or ta.crossover(kdj_j,kdj_k) and ta.crossover(rsi_1,rsi_3) or ta.crossover(rsi_1,rsi_3) and rsi_1<40 shortCondition = ta.crossunder(kdj_j,kdj_k) and rsi_1 < rsi_2 or ta.crossunder(kdj_j,kdj_k) and ta.crossunder(rsi_1,rsi_3) or ta.crossunder(rsi_1,rsi_3) and rsi_1>60 // Enter long trade strategy.entry("Long", strategy.long, when=longCondition) // Enter short trade strategy.entry("Short", strategy.short, when=shortCondition)