Stratégie à long terme de croisement adaptatif de la ligne K Triple SMA


Date de création: 2023-11-24 14:26:37 Dernière modification: 2023-11-24 14:26:37
Copier: 2 Nombre de clics: 550
1
Suivre
1617
Abonnés

Stratégie à long terme de croisement adaptatif de la ligne K Triple SMA

Aperçu

La stratégie utilise une moyenne mobile simple (SMA) de 3 périodes différentes combinée avec une moyenne mobile adaptative de Kaufman pour former un signal d’entrée de ligne longue. Elle génère un signal d’achat lorsque le SMA de la courte période traverse le SMA de la plus longue période.

Principe de stratégie

Cette stratégie utilise 3 SMA de différentes périodes, comprenant SMA 4, SMA 9 et SMA 18. La combinaison croisée de ces 3 SMA est un indicateur technique classique pour déterminer la direction de la tendance.

Afin de filtrer les fausses ruptures, la stratégie a également introduit la moyenne mobile adaptée de Kaufman. Le signal de la fourche d’or du SMA n’est activé que lorsque le prix de clôture est supérieur à la moyenne mobile adaptée, c’est-à-dire dans une tendance à plusieurs têtes, pour lancer la ligne longue.

En outre, cette stratégie utilise également le SMA de 100 cycles pour déterminer la tendance principale. Lorsque le prix franchit le SMA de 100 cycles, il est confirmé qu’il est entré dans une tendance à plusieurs têtes. La stratégie ne génère un signal d’achat que dans la tendance à plusieurs têtes principale.

Dans l’ensemble, les signaux d’achat de cette stratégie proviennent d’une combinaison des éléments suivants:

  1. Le SMA 4 traverse le SMA 9 et le SMA 9 traverse le SMA 18, formant une fourche de courte période
  2. Le prix de clôture est supérieur à la moyenne mobile adaptative de Kaufman et se trouve dans une tendance à plusieurs têtes
  3. Le prix a traversé le SMA de 100 cycles, confirmant la pluralité des principaux

Lorsque les trois conditions ci-dessus sont réunies, un signal d’achat est généré.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. L’utilisation de la tendance de jugement croisé à 3 poids SMA peut filtrer efficacement le bruit et améliorer la fiabilité du signal
  2. L’introduction de moyennes mobiles adaptatives pour éviter les faux-breaks en l’absence de tendance claire
  3. L’analyse des tendances dominantes pour maximiser les chances de profit et éviter de répéter les positions dans des conditions de choc
  4. Les courts et les longs SMA se croisent pour former des signaux en longues lignes, ce qui permet de saisir les grandes tendances.
  5. Les signaux sont plus fiables lorsqu’ils sont utilisés à des cycles élevés, comme 4 heures ou au niveau de la lumière du jour.

Analyse des risques

Cette stratégie présente aussi des risques:

  1. Stratégie à long terme, ne peut pas être arrêtée à temps dans un court laps de temps, il y a un certain risque de retrait
  2. Les signaux d’entrée sont relativement rares et peuvent avoir manqué une partie de la hausse.
  3. Une erreur de signal se produit lorsque les tendances à court, moyen et long terme ne sont pas cohérentes.

L’optimisation peut se faire de la manière suivante:

  1. Réduire de manière appropriée le cycle des SMA à moyen et long terme pour augmenter les opportunités d’entrée
  2. Ajouter d’autres indicateurs auxiliaires, tels que les indicateurs de volume de transaction, pour confirmer la fiabilité de la tendance
  3. La science du stop-loss et le contrôle rationnel du retrait

Direction d’optimisation

Il y a encore de la place pour optimiser cette stratégie:

  1. Plus de combinaisons de cycles SMA peuvent être testées pour trouver des paramètres optimaux
  2. La confirmation de la transaction peut être ajoutée pour éviter les fausses percées
  3. On peut ajouter des indicateurs de volatilité pour filtrer les scénarios d’augmentation de la secousse
  4. Il est possible d’introduire des algorithmes d’apprentissage automatique qui s’adaptent à la recherche des paramètres optimaux.
  5. L’introduction d’indicateurs d’humeur peut aider à éviter les prises de position en période de panique ou d’excitation.

Résumer

Cette stratégie, combinée à des moyennes mobiles auto-adaptatives et à un jugement de tendance dominante, permet de générer des gains importants dans des conditions de tendance, avec une logique stable et un effet de combat plus fort. Cependant, il existe également un certain risque, qui doit être optimisé pour réduire les retraits et améliorer la probabilité de victoire.

Code source de la stratégie
/*backtest
start: 2022-11-17 00:00:00
end: 2023-11-23 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/
// © Wielkieef


//@version=5
strategy(title='twisted SMA strategy [4h] ', overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)

src = close

Length1 = input.int(4, title='  1-SMA Lenght', minval=1, group='SMA')
Length2 = input.int(9, title='  2-SMA Lenght', minval=1, group='SMA')
Length3 = input.int(18, title='  3-SMA Lenght', minval=1, group='SMA')
SMA1 = ta.sma(close, Length1)
SMA2 = ta.sma(close, Length2)
SMA3 = ta.sma(close, Length3)

Long_ma = SMA1 > SMA2 and SMA2 > SMA3
Short_ma = SMA1 < SMA2 and SMA2 < SMA3

LengthMainSMA = input.int(100, title='  SMA Lenght', minval=1)

SMAas = ta.sma(src, LengthMainSMA)

//  Powered Kaufman Adaptive Moving Average by alexgrover (modificated by Wielkieef)
lengthas = input.int(25, title='    Lenght')
sp = input.bool(true, title='  Self Powered')

er = math.abs(ta.change(close, lengthas)) / math.sum(math.abs(ta.change(close)), lengthas)
pow = sp ? 1 / er : 2
per = math.pow(math.abs(ta.change(close, lengthas)) / math.sum(math.abs(ta.change(close)), lengthas), pow)
a = 0.
a := per * src + (1 - per) * nz(a[1], src)
mad4h = 0.
a_f = a / a[1] > .999 and a / a[1] < 1.001

///.

Bar_color = close > SMAas ? color.green : Long_ma ? color.blue : Short_ma ? color.maroon : color.gray

barcolor(color=Bar_color)

long_cond = Long_ma and SMAas < close and not a_f
  
long_stop = Short_ma 

if  long_cond
    strategy.entry('BUY', strategy.long)

strategy.close_all(when=long_stop)

//by wielkieef