Stratégie de suivi des tendances d'inversion à double indicateur


Date de création: 2024-02-01 10:55:30 Dernière modification: 2024-02-01 10:55:30
Copier: 0 Nombre de clics: 676
1
Suivre
1617
Abonnés

Stratégie de suivi des tendances d’inversion à double indicateur

Aperçu

Cette stratégie consiste à acheter ou à vendre des actions lorsque le cours est jugé à l’opposé, en combinant les signaux d’un indicateur de moyenne mobile et de l’indice de facilité de négociation sur le marché.

Principe de stratégie

La stratégie utilise deux indicateurs pour déterminer les signaux. Le premier est l’indicateur de la moyenne mobile, qui est une combinaison d’une ligne rapide et d’une ligne lente d’un indicateur aléatoire. Un signal de vente est généré lorsque le prix baisse pendant deux jours consécutifs et que la ligne rapide est supérieure à la ligne lente. Un signal d’achat est généré lorsque le prix augmente pendant deux jours consécutifs et que la ligne rapide est inférieure à la ligne lente.

Le deuxième indicateur est l’indice de facilité de négociation sur le marché. L’indice permet de juger de la liquidité du marché et de l’efficacité du fonctionnement des prix en calculant la relation entre l’ampleur des fluctuations des prix et le volume des transactions. Une hausse de l’indice indique une transaction fluide sur le marché et une efficacité de fonctionnement élevée, ce qui peut être considéré comme une tendance; une baisse de l’indice indique une fluctuation de la liquidité du marché et une efficacité de fonctionnement réduite, ce qui peut entraîner une situation de choc.

Cette stratégie utilise une logique de jugement combinant les deux indicateurs pour générer des opérations de vente et d’achat lorsque les deux indicateurs émettent simultanément des signaux de vente ou d’achat.

Avantages stratégiques

  • La confirmation par deux indicateurs permet d’améliorer la précision du signal et d’éviter les faux signaux.
  • Une combinaison d’indicateurs de retournement et d’indicateurs de jugement de tendance permet de juger de la tendance générale tout en faisant un retournement, évitant ainsi les opérations de contre-courant
  • La fréquence de ces changements réduit l’intervention humaine.

Les risques et les solutions

  • Si le marché entrait dans une période de hausse ou de baisse unilatérale, il serait difficile de saisir l’opportunité de revenir en arrière et d’entrer dans le jeu.

  • Les paramètres de l’indicateur de retournement peuvent être assouplis de manière appropriée pour augmenter les opportunités d’achat et de vente

  • Vous pouvez également augmenter la taille de vos positions et tirer plus de profit en suivant les tendances.

  • Le signal de retour peut être erroné et la stratégie peut ne pas fonctionner.

  • Les faux signaux peuvent être réduits en optimisant les paramètres de l’indicateur ou en augmentant la période de confirmation

Direction d’optimisation

  • Plus de combinaisons de paramètres peuvent être testées pour trouver le paramètre de référence optimal
  • On peut ajouter ou modifier des indicateurs de retournement pour tester l’effet de retournement des différents indicateurs.
  • Il est possible d’augmenter les stratégies de stop-loss et de contrôler les pertes individuelles.
  • Les algorithmes d’apprentissage automatique peuvent être combinés pour former des modèles d’inversion plus précis à partir de données volumineuses.

Résumer

La stratégie combine des indicateurs de revers et des indicateurs de jugement de tendance, pour entrer en jeu en cas d’alerte de revers, tout en jugeant les grandes tendances et en évitant les opérations de contre-courant. Grâce à la mutualisation des deux indicateurs, il est possible de réduire efficacement les faux signaux. Mais la stratégie présente également des opportunités de gain et le risque de mal interpréter les signaux de revers en cas de situation unilatérale de marché.

Code source de la stratégie
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 02/02/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
// The Market Facilitation Index is an indicator that relates price range to 
// volume and measures the efficency of price movement. Use the indicator to 
// determine if the market is trending. If the Market Facilitation Index increased, 
// then the market is facilitating trade and is more efficient, implying that the 
// market is trending. If the Market Facilitation Index decreased, then the market 
// is becoming less efficient, which may indicate a trading range is developing that 
// may be a trend reversal.
//
// 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


MFI(BuyZone,SellZone) =>
    pos = 0.0
    xmyVol = volume
    xmyhigh = high
    xmylow = low
    nRes = (xmyhigh - xmylow) / xmyVol * 10000
    pos := iff(nRes > BuyZone, 1,
             iff(nRes < SellZone, -1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & Market Facilitation Index", 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, "---- MFI ----")
SellZone = input(6.2, minval=0.01, step = 0.01)
BuyZone = input(1, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMFI = MFI(BuyZone,SellZone)
pos = iff(posReversal123 == 1 and posMFI == 1 , 1,
	   iff(posReversal123 == -1 and posMFI == -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 )