Cette stratégie est basée sur DiNapoli, un oscillateur de tendance qui permet de détecter les signaux de négociation. L’indicateur utilise la différence entre les prix et les moyennes mobiles pour refléter les zones de survente des prix afin d’identifier les opportunités de reprise.
La stratégie comprend principalement les éléments suivants:
Moyenne mobile: mesure la moyenne d’une période donnée pour déterminer la tendance des prix.
Indicateur de la différence: prix moins la différence de la ligne moyenne, formant un indicateur de choc.
Ligne de seuil: génère un signal de transaction lorsque l’indicateur de la différence dépasse la limite.
Il faut faire plus de signaux: faire plus lorsque la différence dépasse la limite.
Signaux de vide: vide lorsque vous franchissez la limite de la porte en dessous de la valeur de différence.
L’option inverse: le signal plus/zéro peut être inversé comme signal de transaction.
La stratégie utilise la déviation entre les prix et les tendances pour saisir les occasions de revers à court terme. La logique est simple et intuitive.
Par rapport à d’autres stratégies d’inversion, cette stratégie présente les avantages suivants:
Les principes sont simples, intuitifs et faciles à comprendre, et la mise en œuvre n’est pas difficile.
Paramètres de faible quantité, optimisation de la rétro-mesure
Les paramètres peuvent être ajustés manuellement pour différents cycles.
L’option inverse est disponible et peut être utilisée de manière flexible pour différents marchés.
Des méthodes claires de prévention des pertes permettent de contrôler les risques.
Les retraits sont relativement petits et peuvent être ajustés par paramètres pour réduire les oscillations de la courbe.
L’apprentissage automatique peut être introduit pour l’optimisation des paramètres.
Dans l’ensemble, il y a un bon équilibre entre les risques et les bénéfices, ce qui est approprié pour les transactions à court terme.
Mais cette stratégie comporte aussi les principaux risques suivants:
Il existe un risque de suradaptation en s’appuyant trop sur l’optimisation des paramètres.
Les moyennes mobiles et les indices sont en retard.
Le manque de vérification des variables auxiliaires autres que le prix
L’effet du timing peut être atténué par l’évolution de l’environnement du marché.
Il est difficile d’obtenir une Alpha à long terme et nécessite des ajustements fréquents.
Il faut faire attention au taux de rétractation des gains pour éviter que la courbe ne soit trop raide.
La fréquence des transactions est élevée, ce qui affecte le coût des transactions.
Vérifier la stabilité des paramètres sur plusieurs marchés.
Sur la base de ces analyses, les orientations d’optimisation de la stratégie sont les suivantes:
Tester l’efficacité de différents paramètres de la ligne moyenne.
Le nombre d’adhérents à l’indicateur de transaction est vérifié.
Il est possible de régler le stop-loss pour contrôler le risque.
Évaluation de la robustesse polycyclique de plusieurs variétés.
La vérification continue est effectuée en faisant un défilement.
Réduire la fréquence des transactions en modifiant la gestion des positions.
L’introduction de l’apprentissage automatique génère des paramètres plus efficaces.
Optimiser la stratégie globale de gestion des fonds.
Une stratégie d’alternance continue pour s’adapter aux évolutions du marché
Cette stratégie est globalement une approche de stratégie inverse plus simple, qui peut obtenir de bons résultats en ajustant les paramètres. Cependant, toute stratégie nécessite de prévenir les surajustements et de réaliser des bénéfices stables à long terme. Cela nécessite un suivi et une optimisation constants, et des améliorations de la stratégie à partir de plusieurs dimensions.
/*backtest
start: 2023-08-23 00:00:00
end: 2023-09-22 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version = 2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 05/12/2016
// DiNapoli Detrended Oscillator Strategy
// 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="DiNapoli Detrended Oscillator Strategy Backtest")
Length = input(14, minval=1)
Trigger = input(0)
reverse = input(true, title="Trade reverse")
hline(Trigger, color=gray, linestyle=line)
xSMA = sma(close, Length)
nRes = close - xSMA
pos = iff(nRes > Trigger, 1,
iff(nRes <= Trigger, -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)
plot(nRes, color=blue, title="DiNapoli")
barcolor(possig == -1 ? red: possig == 1 ? green : blue )