Cette stratégie combine la stratégie de trading 123 d'inversion proposée par Ulf Jensen dans son livre avec l'oscillateur de divergence de convergence moyenne mobile (KST) proposé par Martin Pring pour construire une stratégie quantitative qui génère des signaux de trading en utilisant des modèles d'inversion et des indicateurs d'oscillation de tendance.
La logique de base de cette partie de la stratégie consiste à surveiller si le cours de clôture de l'action s'est inversé au cours des 2 derniers jours, en particulier:
Si les prix de clôture des 2 derniers jours sont en baisse, c'est-à-dire que le prix de clôture du jour précédent est supérieur à celui du jour précédent; et que le prix de clôture d'aujourd'hui rebondit vers le haut par rapport au jour précédent, qui est supérieur au prix de clôture du jour précédent, cela peut être jugé comme un renversement vers le bas et un signal d'achat est généré.
Au contraire, si les prix de clôture des 2 derniers jours sont en tendance haussière, c'est-à-dire que le prix de clôture de la journée précédente est inférieur à celui de la journée précédente; et que le prix de clôture d'aujourd'hui tombe par rapport au prix de clôture de la journée précédente, ce qui est inférieur au prix de clôture de la journée précédente, cela peut être jugé comme un renversement de la partie supérieure et un signal de vente est généré.
Cette partie de la stratégie combine également l'indicateur stochastique pour déterminer s'il est suracheté ou survendu afin de filtrer les signaux de négociation non inversés.
Dans l'indicateur KST, ROC représente le taux de variation des prix, en calculant les ROC de 6 jours, 10 jours, 15 jours et 20 jours respectivement, et en effectuant une addition pondérée après l'assouplissement des moyennes mobiles de différents paramètres pour construire l'indicateur KST.
Lorsque la ligne rapide traverse au-dessus de la ligne lente, elle est jugée haussière; lorsque la ligne rapide traverse au-dessous de la ligne lente, elle est jugée baissière.
Cette stratégie utilise KST>0 pour juger de la hausse et KST<0 pour juger de la baisse.
Les signaux de jugement de la stratégie d'inversion 123 et de l'indicateur KST sont combinés:
On constate que cette stratégie utilise de manière exhaustive deux types d'indicateurs techniques différents, le modèle d'inversion et le jugement des indicateurs, et combine leurs forces de signal pour concevoir une stratégie de négociation quantitative plus avancée.
Des méthodes telles que l'ajustement des paramètres, l'optimisation de la logique d'inversion, l'introduction du mécanisme de stop loss peuvent être utilisées pour contrôler les risques.
Cette stratégie intègre plusieurs types d'indicateurs techniques différents. Grâce à la confirmation double et à l'optimisation des combinaisons, elle conçoit scientifiquement une stratégie de trading quantitative relativement forte, et c'est un modèle de combinaison de stratégies.
/*backtest start: 2023-10-22 00:00:00 end: 2023-11-21 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 23/03/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 // This indicator really is the KST indicator presented by Martin Pring. // the KST indicator is a weighted summed rate of change oscillator that // is designed to identify meaningful turns. Various smoothed rate of change // indicators can be combined to form different measurements of cycles. // // 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 MROC() => pos = 0.0 xROC6 = sma(roc(close, 6), 10) xROC10 = sma(roc(close, 10), 10) xROC15 = sma(roc(close, 15), 9) xROC20 = sma(roc(close, 20), 15) nRes = xROC6 + (2 * xROC10) + (3 * xROC15) + (4 * xROC20) pos := iff(nRes > 0, 1, iff(nRes < 0, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & MovROC (KST indicator)", 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) //------------------------- reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posMROC = MROC() pos = iff(posReversal123 == 1 and posMROC == 1 , 1, iff(posReversal123 == -1 and posMROC == -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 )