Stratégie de négociation quantitative de l'oscillateur de prix décentralisé

Auteur:ChaoZhang est là., Date: 2023-11-24 à 11h22h30
Les étiquettes:

Vue d'ensemble de la stratégie

La stratégie s'appelle Detrended Price Oscillator Quantitative Trading Strategy. Elle génère des signaux de négociation basés sur l'indicateur Detrended Price Oscillator, qui est une stratégie d'indicateur technique typique.

La logique de la stratégie

Le noyau de cette stratégie est l'indicateur d'oscillateur de prix décentralisé (DPO). DPO est similaire à une moyenne mobile, qui peut filtrer les tendances à plus long terme des prix pour rendre les fluctuations cycliques plus prononcées. Plus précisément, DPO compare les prix avec leur moyenne mobile simple de N jours. Lorsque le prix est supérieur à la moyenne mobile, DPO est positif; lorsque le prix est inférieur à la moyenne mobile, DPO est négatif. Cela entraîne une oscillation autour de l'axe 0. Nous pouvons utiliser le positif / négatif de DPO pour juger de la hausse / baisse des prix par rapport à la tendance.

Cette stratégie définit le paramètre N à 14 et construit un indicateur de DPO de 14 jours.

Les avantages

  • Le DPO est essentiellement un indicateur de filtrage qui permet d'identifier efficacement les cycles à moyen terme des prix, ce qui est très utile pour découvrir des opportunités commerciales relativement cachées.
  • Le DPO a une construction simple et est facile à comprendre.
  • Comparé au prix lui-même, le modèle d'indicateur DPO est plus standardisé et plus facile à juger, ce qui le rend approprié pour la formulation de règles.

Les risques

  • Comme la plupart des stratégies d'indicateurs techniques, la stratégie du DPO a tendance à générer fréquemment des signaux de négociation inutiles, ce qui peut entraîner des dérapages et des coûts de transaction inutiles.
  • Le DPO est très sensible au paramètre N. Différentes sélections de paramètres peuvent conduire à une efficacité stratégique très différente. Des tests approfondis sont nécessaires pour trouver le paramètre optimal.
  • Dans les marchés tendance, la durée de détention des stratégies de DPO peut être trop longue pour arrêter les pertes à temps, ce qui pose un certain risque de perte de sang.

Pour atténuer les risques, l'optimisation peut être envisagée dans les aspects suivants:

  1. Ajouter des mécanismes de stop-loss pour contrôler les pertes uniques.

  2. Ajustez la valeur du paramètre N pour trouver le paramètre optimal.

  3. Incorporer des indicateurs de tendance pour éviter de négocier contre des tendances importantes.

Conclusion

Cette stratégie génère des signaux de trading basés sur l'indicateur de l'oscillateur de prix décentralisé. En le comparant avec des moyennes mobiles, cet indicateur filtre les tendances à long terme des prix pour rendre les caractéristiques cycliques des prix plus prononcées. Cela aide à découvrir certaines opportunités de trading cachées. En même temps, il fait également face à des problèmes tels que la sensibilité des paramètres, le filtrage, etc. Il y a encore une grande marge d'amélioration de l'efficacité grâce à une optimisation continue.


/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-20 08:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 31/03/2017
// The Detrend Price Osc indicator is similar to a moving average, 
// in that it filters out trends in prices to more easily identify 
// cycles. The indicator is an attempt to define cycles in a trend 
// by drawing a moving average as a horizontal straight line and 
// placing prices along the line according to their relation to a 
// moving average. It provides a means of identifying underlying 
// cycles not apparent when the moving average is viewed within a 
// price chart. Cycles of a longer duration than the Length (number 
// of bars used to calculate the Detrend Price Osc) are effectively 
// filtered or removed by the oscillator.
//
// 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="Detrended Price Oscillator", shorttitle="DPO")
Length = input(14, minval=1)
Series = input(title="Price",  defval="close")
reverse = input(false, title="Trade reverse")
hline(0, color=green, linestyle=line)
xPrice = close
xsma = sma(xPrice, Length)
nRes = xPrice - xsma
pos = iff(nRes > 0, 1,
	     iff(nRes < 0, -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(nRes, color=red, title="Detrended Price Oscillator")

Plus de