Stratégie de trading inversée multifactorielle


Date de création: 2023-09-19 21:13:04 Dernière modification: 2023-09-19 21:13:04
Copier: 1 Nombre de clics: 719
1
Suivre
1617
Abonnés

Aperçu

Cette stratégie utilise de multiples indicateurs techniques pour juger de l’inversion des prix et appartient à une stratégie de trading inversée multifactorielle. Elle intègre l’indicateur de la forme 123 et l’indicateur de l’efficacité de la fraction de polarisation ((PFE), qui peut filtrer efficacement les faux signaux et améliorer la victoire des transactions lorsque les deux donnent un signal cohérent.

Principe de stratégie

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

  1. 123 jugements de forme: lorsque le prix de clôture recule le troisième jour après 2 jours consécutifs de hausse, et que la ligne rapide stochastique est inférieure à la ligne lente, générant un signal d’achat; lorsque le prix de clôture recule le troisième jour après 2 jours consécutifs de baisse, et que la ligne rapide stochastique est supérieure à la ligne lente, générant un signal de vente.

  2. Le jugement de l’indicateur PFE: le PFE est plus élevé que la limite supérieure de la prévision et plus élevé que la limite inférieure de la prévision.

La forme 123 n’est admise que si elle produit un signal correspondant à l’indicateur PFE. Si les deux ne sont pas concordants, la position est maintenue vide.

123 est capable de reconnaître les points de retournement potentiels. L’efficacité de la PFE dans le discernement des tendances, évitant la poursuite de fausses percées. Les deux peuvent être combinés pour améliorer l’exactitude du jugement et obtenir l’effet de la vérification multifactorielle.

Avantages stratégiques

  • La forme 123 et l’indicateur PFE sont mutuellement vérifiés pour réduire les faux signaux
  • La base théorique de l’indicateur PFE est solide et permet d’évaluer efficacement l’efficacité des prix
  • Le pilotage multifactoriel améliore la précision des jugements
  • Une flexibilité stratégique combinée à des indicateurs de revers et de tendance
  • Paramètres personnalisables pour s’adapter aux évolutions du marché

Risques stratégiques et réponse

  • Les facteurs individuels peuvent donner de faux signaux
  • La définition des facteurs nécessite une optimisation et une adaptation constantes
  • Les détenteurs de positions de courte durée sont exposés à des risques de perte fréquents.

Comment réagir:

  1. Augmentation des facteurs de vérification et amélioration de la précision
  2. Optimisation de la configuration des paramètres pour améliorer la stabilité
  3. Trouver les paramètres optimaux en utilisant une méthode d’optimisation automatique
  4. Réglage de l’arrêt de salutation ou de l’arrêt de déplacement

Orientation de l’optimisation de la stratégie

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Ajout de paramètres de stop-loss basés sur la volatilité
  2. Optimiser automatiquement tous les paramètres en utilisant des méthodes telles que l’apprentissage automatique
  3. Réduire la fréquence des revers pendant une forte tendance
  4. Tenue de position ajustée en fonction de la volatilité du marché combinée à un indicateur d’adaptation
  5. Combinaison avec d’autres stratégies pour diversifier les risques et améliorer les rendements globaux

Résumer

Cette stratégie, qui combine plusieurs facteurs pour déterminer les points de retournement des prix, est à la fois théorique et facile à mettre en œuvre. L’amélioration de l’exactitude des jugements par rapport à un seul indicateur, motivée par plusieurs facteurs, est une stratégie de trading de retournement relativement robuste. L’efficacité de la stratégie peut être encore renforcée par des méthodes telles que l’optimisation des paramètres, la gestion des pertes et la combinaison.

Code source de la stratégie
/*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 )