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 stratégie est composée de deux éléments principaux:
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.
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 mesures d'atténuation
La stratégie peut être renforcée par:
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 )