Stratégie d'inversion de l'enveloppe de moyenne mobile


Date de création: 2023-10-20 16:05:43 Dernière modification: 2023-10-20 16:05:43
Copier: 0 Nombre de clics: 766
1
Suivre
1617
Abonnés

Stratégie d’inversion de l’enveloppe de moyenne mobile

Aperçu

La stratégie de paquetage linéaire inversé est une stratégie de trading quantitatif qui utilise les deux principaux indicateurs techniques de trading inversé et de paquetage linéaire inversé. Elle intègre les avantages de la stratégie de paquetage linéaire inversé pour capturer les opportunités de retournement du marché et la direction de la tendance de la paquetage linéaire inversée, pour réaliser des bénéfices stables.

Principe de stratégie

La stratégie est composée de deux volets:

La première partie est la stratégie de 123 inversions. Son signal de transaction provient de l’indicateur aléatoire KDJ. La logique spécifique est la suivante: si le prix de clôture est inférieur au prix de clôture du jour précédent pendant deux jours consécutifs et que la ligne lente aléatoire du 9 est inférieure à 50, un signal d’achat est généré.

La deuxième partie est une stratégie de réseau de couverture moyenne. Elle utilise la ligne moyenne et les deux lignes de couverture inférieures à la ligne moyenne pour déterminer la tendance. La logique est la suivante: si le prix de clôture est supérieur à la ligne supérieure, un signal d’achat est généré; si le prix de clôture est inférieur à la ligne inférieure, un signal de vente est généré.

La stratégie utilise les deux signaux de négociation ci-dessus, ouvrant une position plus élevée lorsque 123 inverse et la paire de couverture uniforme émettent simultanément des signaux d’achat; ouvrant une position vide lorsque les deux émettent simultanément des signaux de vente. Cela permet de filtrer certains signaux inefficaces et de réduire la fréquence des transactions tout en augmentant la probabilité de profit.

Analyse des avantages

  • Une combinaison de revers et de tendances pour augmenter les chances de profit

Les stratégies de retournement sont très efficaces pour capturer les opportunités de retournement à proximité des résistances de support critiques. Les stratégies de contournement linéaire permettent de déterminer avec précision la direction de la tendance.

  • Le double filtrage réduit la fréquence des transactions

La stratégie n’ouvre une position que lorsque les deux indicateurs émettent des signaux simultanément. Cela évite l’interférence d’un trop grand nombre de signaux inefficaces générés par un seul indicateur, ce qui réduit la fréquence des transactions et contribue à réduire les coûts de transaction.

  • paramètres paramétrables fournissent une flexibilité à la stratégie

Les paramètres de l’indicateur dans la stratégie sont ajustables, et l’utilisateur peut choisir la combinaison de paramètres appropriée en fonction de la situation du marché et de ses préférences personnelles, ce qui rend la stratégie plus adaptative.

  • Les transactions unilatérales simplifient les opérations

Cette stratégie consiste uniquement à effectuer des transactions unilatérales à plusieurs têtes ou à vide, et non à ouvrir des positions inversées. Cela simplifie la logique d’opération de la stratégie et réduit le risque de durations.

Analyse des risques

  • Le trading inversé est difficile à suivre

La stratégie repose principalement sur le trading inversé pour réaliser des profits. La stratégie peut générer des pertes continues lorsque des tendances unilatérales à long terme se produisent.

  • Difficulté à optimiser les paramètres

La stratégie contient plusieurs paramètres modifiables, ce qui rend l’optimisation des paramètres difficile. Une combinaison inappropriée de paramètres peut affecter la performance de la stratégie.

  • La fréquence élevée des changements de position augmente le risque de transaction

La stratégie consiste à changer de position fréquemment, et même si cela permet de bloquer de petits bénéfices, les transactions trop fréquentes augmentent également les coûts de transaction et les risques de surprises.

  • Il n’y a pas de limite au retrait maximum.

La stratégie n’a pas de point de stop-loss et ne peut pas contrôler efficacement le retrait maximal. Si un événement majeur de Black Swan se produit, la stratégie peut faire face à des pertes énormes.

Direction d’optimisation

  • Augmentation des stratégies de réduction des pertes

Des arrêts mobiles ou des arrêts de suivi peuvent être mis en place pour limiter le maximum de retraits. Des arrêts en temps opportun peuvent protéger les fonds lorsque le marché évolue de manière anormale.

  • Combinaison de paramètres d’optimisation

La stabilité de la stratégie est améliorée par la détermination de la combinaison optimale de paramètres par le retour et la simulation des paramètres d’optimisation des transactions. Des mécanismes d’optimisation des paramètres dynamiques peuvent également être conçus pour rendre la stratégie plus adaptable.

  • Combinaison avec d’autres indicateurs pour filtrer le signal

L’ajout d’indicateurs tels que le MACD, les bandes de Brin et d’autres pour vérifier les signaux de transaction peut améliorer encore la qualité du signal et réduire les transactions invalides.

  • Réduction de la fréquence des transactions

L’assouplissement approprié des conditions de retournement et l’ajustement des paramètres de la moyenne permettent de réduire la fréquence des changements de position, ce qui contribue à réduire les coûts de transaction et le risque d’incident.

Résumer

La stratégie de réseau de paquetage en ligne inverse-équivalent utilise les avantages de l’application intégrée de la négociation inverse et du suivi de la tendance pour réaliser des gains supplémentaires stables, sous réserve de maîtriser les risques. La stratégie peut être optimisée davantage pour rendre sa combinaison de paramètres plus scientifique, ce qui permet d’obtenir une meilleure performance commerciale.

Code source de la stratégie
/*backtest
start: 2023-09-19 00:00:00
end: 2023-10-19 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/03/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Moving Average Envelopes are percentage-based envelopes set above and 
// below a moving average. The moving average, which forms the base for 
// this indicator, can be a simple or exponential moving average. Each 
// envelope is then set the same percentage above or below the moving average. 
// This creates parallel bands that follow price action. With a moving average 
// as the base, Moving Average Envelopes can be used as a trend following indicator. 
// However, this indicator is not limited to just trend following. The envelopes 
// can also be used to identify overbought and oversold levels when the trend is 
// relatively flat. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


MAE(Length,PercentShift) =>
    pos = 0.0
    xSMA = sma(close, Length)
    xHighBand = xSMA + (xSMA * PercentShift / 100)
    xLowBand = xSMA - (xSMA * PercentShift / 100)
    pos := iff(close > xHighBand, 1,
             iff(close <xLowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Moving Average Envelopes", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- MA Envelope ----")
LengthMA = input(18, minval=1)
PercentShift = input(0.2, minval = 0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMAE = MAE(LengthMA,PercentShift)
pos = iff(posReversal123 == 1 and posMAE == 1 , 1,
	   iff(posReversal123 == -1 and posMAE == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1 ) 
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )