Stratégie d'empilement de l'élan des différents délais

Auteur:ChaoZhang est là., Date: le 26 octobre 2023 à 17h39
Les étiquettes:

img

Résumé

La stratégie d'empilement de l'élan calcule principalement le taux de changement (ROC) sur différentes périodes, les pondère et les empile pour former un indicateur d'élan complet pour juger de la direction de la tendance.

La logique de la stratégie

La stratégie calcule d'abord les indicateurs de ROC sur des périodes de 10 jours, 15 jours, 20 jours, etc. Ensuite, elle lissue le ROC et les empile dans un rapport pondéré de 1 à 4 pour obtenir la formule:

roc1 = (sma(roc(close,10),10)*1)
roc2 = (sma(roc(close,15),10)*2)  
...
osc = roc1+roc2+roc3+roc4+...

Le montant de la valeur ajoutée de la valeur ajoutée de la valeur ajoutée de la valeur ajoutée de la valeur ajoutée.

Il lissera ensuite osc par une SMA de 10 jours pour obtenir oscsmt.

Compare OSC avec oscsmt, lorsque l'OSC traverse l'OSCmt comme signal haussier et entre en long. Lorsque l'OSC traverse le niveau inférieur à l'OSCmt comme signal baissier et entre en court.

Enfin, il peut choisir d'inverser la direction des échanges.

Les avantages

  1. L'empilement des indicateurs de dynamique à court et à long terme permet de capturer les tendances à court et à long terme, en évitant de faux signaux.

  2. La comparaison entre l'OSC et l'OSCM peut réduire les transactions inutiles sur les marchés latéraux.

  3. Paramètres personnalisables pour ajuster les périodes de ROC et la fluidité de la SMA.

  4. La direction de négociation réversible s'adresse à différents styles de négociation.

  5. Les indicateurs visuels rendent les points d'achat et de vente intuitifs.

Risques et optimisations

  1. ROC est très sensible aux anomalies soudaines des prix, ce qui peut générer de faux signaux.

  2. Les paramètres par défaut peuvent ne pas convenir à tous les instruments de trading.

  3. Les transactions basées uniquement sur le croisement OSC et OSCSMT peuvent ajouter d'autres indicateurs pour filtrer les signaux et réduire les erreurs.

  4. Plus adapté pour les transactions à moyen et long terme. Il peut être nécessaire d'ajuster les périodes de ROC pour optimiser le scénario d'utilisation.

Conclusion

La stratégie d'empilement de momentum calcule plusieurs périodes de ROC pour obtenir un indicateur de momentum complet, capturant les tendances à court et à long terme, évitant de faux signaux.


/*backtest
start: 2023-09-25 00:00:00
end: 2023-10-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter 08/08/2017
// Pring's Special K is a cyclical indicator created by Martin Pring. 
// His method combines short-term, intermediate and long-term velocity 
// into one complete series. Useful tool for Long Term Investors
// Modified for any source.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Martin Pring's Special K Backtest", shorttitle="UCS_Pring_sK")
a = input(10, title = "Smooth" )
sources = input(title="Source",  defval=close)
reverse = input(false, title="Trade reverse")
roc1 = (sma(roc(sources,10),10)*1)
roc2 = (sma(roc(sources,15),10)*2)
roc3 = (sma(roc(sources,20),10)*3)
roc4 = (sma(roc(sources,30),15)*4)
roc5 = (sma(roc(sources,40),50)*1)
roc6 = (sma(roc(sources,65),65)*2)
roc7 = (sma(roc(sources,75),75)*3)
roc8 = (sma(roc(sources,100),100)*4)
roc9 = (sma(roc(sources,195),130)*1)
roc10 = (sma(roc(sources,265),130)*2)
roc11 = (sma(roc(sources,390),130)*3)
roc12 = (sma(roc(sources,530),195)*4)
osc = roc1+roc2+roc3+roc4+roc5+roc6+roc7+roc8+roc9+roc10+roc11+roc12
oscsmt = sma(osc,a)
pos = iff(osc > oscsmt, 1,
	     iff(osc < oscsmt, -1, nz(pos[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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(osc, color=blue, title="Martin Pring's Special K")
plot(oscsmt, color = red, title = "Smooth")
hline(0, title="Zero Line")

Plus de