Stratégie de négociation de renversement à facteurs multiples

Auteur:ChaoZhang est là., Date: 2023-09-19 21:13:04 Je vous en prie.
Les étiquettes:

Résumé

Cette stratégie combine plusieurs indicateurs techniques pour identifier les renversements de prix, ce qui en fait une stratégie de trading de renversement axée sur plusieurs facteurs.

La logique de la stratégie

La stratégie est composée de deux éléments principaux:

  1. Identification de modèle: Un signal d'achat est généré lorsque la clôture est en hausse pendant 2 jours consécutifs, puis en baisse le 3ème jour, avec la ligne rapide stochastique en dessous de la ligne lente.

  2. seuil de l'indicateur PFE: PFE supérieur à la limite supérieure indique des signaux de vente, PFE inférieur à la limite inférieure indique des signaux d'achat.

Les transactions ne sont effectuées que lorsque le modèle 123 et l'indicateur PFE sont en accord.

Le modèle 123 identifie les renversements potentiels. L'EFP mesure l'efficacité de la tendance pour éviter de fausses ruptures. Ensemble, ils améliorent la précision grâce à la confirmation multifactorielle.

Les avantages

  • 123 modèle et PFE se valident mutuellement, réduisant les faux signaux
  • La PFE dispose d'une base théorique solide pour évaluer l'efficacité des prix
  • La précision est améliorée grâce à des facteurs multiples
  • La combinaison d'un modèle d'inversion et d'un indicateur de tendance offre une certaine souplesse
  • Les paramètres personnalisables s'adaptent à l'évolution des marchés

Risques et atténuation

  • Des facteurs individuels peuvent donner des signaux erronés
  • Le réglage des facteurs nécessite une optimisation continue
  • Risques de courte durée de détention de stop loss fréquents

Les mesures d'atténuation

  1. Facteurs supplémentaires pour améliorer la précision
  2. Optimisation des paramètres pour une robustesse accrue
  3. Méthodes d'optimisation automatique pour trouver les paramètres optimaux
  4. Utilisation de pertes fixes ou de pertes à arrêt de traîneau

Des possibilités d'amélioration

La stratégie peut être renforcée par:

  1. Paramètres d'évaluation des risques
  2. Optimisation automatique de tous les paramètres par apprentissage automatique
  3. Réduction de la fréquence d'inversion lors de fortes tendances
  4. Indicateurs adaptatifs pour tenir compte de la volatilité du marché
  5. Combinations de portefeuilles pour diversifier les risques et améliorer les rendements

Conclusion

Cette stratégie combine plusieurs facteurs pour identifier les points d'inversion, fournissant une solidité théorique et une facilité de mise en œuvre.


/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-13 08:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/04/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 Polarized Fractal Efficiency (PFE) indicator measures the efficiency 
// of price movements by drawing on concepts from fractal geometry and chaos 
// theory. The more linear and efficient the price movement, the shorter the 
// distance the prices must travel between two points and thus the more efficient 
// the price movement.
//
// 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


PFE(Length,LengthEMA,BuyBand,SellBand) =>
    pos = 0.0
    PFE = sqrt(pow(close - close[Length], 2) + 100)
    C2C = sum(sqrt(pow((close - close[1]), 2) + 1), Length)
    xFracEff = iff(close - close[Length] > 0,  round((PFE / C2C) * 100) , round(-(PFE / C2C) * 100))
    xEMA = ema(xFracEff, LengthEMA)
    pos := iff(xEMA < SellBand, -1,
    	      iff(xEMA > BuyBand, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & PFE (Polarized Fractal Efficiency)", 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, "---- PFE ----")
LengthPFE = input(9, minval=1)
LengthEMA = input(5, minval=1)
BuyBand = input(50, step = 0.1)
SellBand = input(-50, step = 0.1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPFE = PFE(LengthPFE,LengthEMA,BuyBand,SellBand)
pos = iff(posReversal123 == 1 and posPFE == 1 , 1,
	   iff(posReversal123 == -1 and posPFE == -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