Tendance à l'inversion moyenne du double indicateur suivant la stratégie

Auteur:ChaoZhang est là., Date: 2024-02-01 10:55:30 Le projet de loi est en cours d'adoption.
Les étiquettes:

img

Résumé

Cette stratégie génère des signaux d'achat et de vente en combinant un indicateur de moyenne mobile et un indice de facilitation du marché.

Principaux

La stratégie utilise deux indicateurs pour la génération de signaux. Le premier est l'indicateur de moyenne mobile, en particulier la combinaison de la ligne rapide et de la ligne lente de l'oscillateur stochastique. Il produit un signal de vente lorsque le prix se ferme pendant deux jours consécutifs et que la ligne rapide est au-dessus de la ligne lente. Il produit un signal d'achat lorsque le prix se ferme pendant deux jours consécutifs et que la ligne rapide est en dessous de la ligne lente. En surveillant l'inversion des prix et la relation entre la ligne rapide et la ligne lente, il vise à prédire les points tournants potentiels de la tendance des prix.

Le deuxième indicateur est l'indice de facilitation du marché. Il mesure l'efficacité du mouvement des prix en calculant la relation entre la fourchette de prix et le volume. Lorsque l'indice augmente, il indique une amélioration de la liquidité du marché et une efficacité opérationnelle plus élevée, signalant un marché en tendance. Lorsque l'indice diminue, il montre une aggravation de la liquidité et une diminution de l'efficacité, ce qui implique un marché potentiellement en évolution latérale ou un renversement de tendance.

Cette stratégie génère des ordres d'achat et de vente réels lorsque les deux indicateurs émettent simultanément des signaux de négociation concordants.

Les avantages

  • Amélioration de la précision du signal en exigeant une confirmation à partir de deux indicateurs, évitant ainsi les faux signaux
  • La combinaison de l'indicateur de réversion moyenne et de l'indicateur de jugement de tendance aide à éviter les transactions contre tendance majeure
  • Réduction des besoins de réglage fréquent des paramètres et réduction de l'intervention manuelle

Risques et solutions

  • Difficile de capitaliser sur les opportunités d'inversion en cas de tendance à la hausse ou à la baisse unidirectionnelle prolongée, incapable d'entrer sur le marché

  • Peut relâcher les paramètres de l'indicateur de réversion moyenne pour augmenter les chances de capturer les signaux d'achat et de vente

  • Peut également augmenter la taille de la position pour monter la tendance à compenser les bénéfices

  • Des signaux d'inversion inexacts peuvent invalider la stratégie

  • Peut optimiser les paramètres ou ajouter des étapes de confirmation du signal pour filtrer les faux signaux

Les domaines d'amélioration

  • Testez plus de combinaisons de paramètres pour trouver les paramètres optimaux
  • Explorez plus d'indicateurs de réversion moyenne, évaluez la performance des différents indicateurs
  • Introduction d'un stop-loss pour limiter les pertes liées à une seule transaction
  • Incorporer des modèles d'apprentissage automatique formés sur le Big Data pour générer des signaux d'inversion plus précis

Résumé

Cette stratégie combine un indicateur de renversement moyen et un indicateur de jugement de tendance, entrant sur le marché lorsque le signal de renversement émerge tout en respectant la direction de la tendance principale. L'utilisation de la confirmation à double indicateur élimine efficacement les faux signaux. Bien que des risques existent lors de tendances unilatérales prolongées et de signaux de renversement erronés. D'autres optimisations peuvent être effectuées via l'ajustement des paramètres, le stop loss, les mises à niveau des indicateurs et les modèles d'apprentissage automatique.


/*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 )

Plus de