Cette stratégie utilise d'abord des signaux d'inversion de prix pour le trading, puis combine des indicateurs de filtrage de tendance pour le dépistage, en mettant en œuvre un système basé sur deux facteurs.
La partie de l'inversion des prix utilise le système d'inversion 123. Ce système est tiré du livre
Lorsque les conditions ci-dessus sont remplies, un signal d'achat est généré.
Un signal de vente est généré.
L'objectif de ce système de renversement est de capturer les renversements à court terme lorsque les prix forment un renversement temporaire.
La partie de filtrage de tendance utilise le système Extraction de la tendance (ETT). Le système ETT juge la direction de la tendance par une combinaison de filtre et de moyenne mobile. Dans cette stratégie, sa fonction principale est de vérifier les signaux d'inversion de prix, en évitant l'opération d'inversion lorsqu'il n'y a pas de tendance claire.
Cette stratégie combine les signaux de négociation des deux sous-stratégies, réalisant finalement un système de négociation d'inversion à double facteur.
La stratégie de négociation à inversion à deux facteurs intègre les avantages de chaque sous-stratégie par la combinaison:
Par conséquent, cette stratégie peut filtrer efficacement les signaux d'inversion non valides. Avec un jugement de tendance correct, elle effectue une opération d'inversion, améliorant ainsi la performance globale du système de négociation.
La stratégie de négociation à inversion à deux facteurs comporte les principaux risques suivants:
Pour réduire les risques ci-dessus, les considérations comprennent l'ajustement des paramètres du compilateur, l'optimisation des stratégies d'inversion et d'ETT pour un meilleur jugement, ainsi que l'élargissement approprié de la plage de stop-loss pour le trading d'inversion.
Cette stratégie peut être optimisée dans les aspects suivants:
Avec la logique de la stratégie et les signaux de trading clés inchangés, de meilleurs résultats de backtest peuvent être attendus grâce à l'optimisation des paramètres et des combinaisons.
La stratégie de trading de renversement à deux facteurs combine organiquement les signaux de renversement de prix et le filtrage de tendance pour un système de jugement à plusieurs facteurs.
/*backtest start: 2023-11-26 00:00:00 end: 2023-12-26 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 03/08/2020 // 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 // Extracting The Trend // The related article is copyrighted material from Stocks & Commodities Mar 2010 // // 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 ETT(Length,Delta,Trigger) => pos = 0 xBandpassFilter = 0.0 xPrice = hl2 beta = cos(3.1415 * (360 / Length) / 180) gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180) alpha = gamma - sqrt(gamma * gamma - 1) xBandpassFilter := 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2]) xMean = sma(xBandpassFilter, 2 * Length) pos :=iff(xMean > Trigger, 1, iff(xMean < Trigger, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Extracting The Trend", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- LengthETT = input(20, minval=1) Delta = input(0.5) Trigger = input(0) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posETT = ETT(LengthETT,Delta,Trigger) pos = iff(posReversal123 == 1 and posETT == 1 , 1, iff(posReversal123 == -1 and posETT == -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 )