Cette stratégie combine deux puissants indicateurs intégrés dans TradingView - l'indice de mouvement directionnel (DMI) et l'oscillateur de prix décentralisé (DPO) pour former une base fiable pour les décisions de trading. La logique de base de la stratégie est de déterminer si la valeur de la DPO est supérieure à 0 lorsqu'une croix dorée de la DMI se produit, et génère un signal long si c'est le cas; ou de déterminer si la valeur de la DPO est inférieure à 0 lorsqu'une croix morte de la DMI se produit, et génère un signal court si c'est le cas. Cela peut filtrer efficacement de nombreux faux signaux générés pendant les oscillations de gamme dans le marché, ne générant ainsi que des signaux de trading lorsqu'une tendance se forme, évitant des pertes d'arrêt répétées pendant les oscillations.
Cette stratégie utilise principalement l'indicateur DMI pour déterminer la direction et la force de la tendance. L'indicateur DMI se compose de trois courbes: +DI, -DI et ADX. +DI représente la force de la tendance haussière, -DI représente la force de la tendance baissière, et leur croisement peut déterminer la direction de la tendance actuelle; ADX représente la force de la tendance, plus la valeur est élevée, plus la tendance est évidente.
Pour filtrer les faux signaux générés dans les oscillations de la plage, l'indicateur DPO est introduit pour un jugement auxiliaire. L'indicateur DPO représente le degré d'écart du prix par rapport à son rail du milieu. Lorsque le prix est au-dessus du rail du milieu, le DPO est positif, et lorsqu'il est en dessous, il est négatif. Cette stratégie utilise la positivité et la négativité de l'indicateur DPO pour juger s'il est actuellement dans une tendance. Si l'indicateur DMI traverse mais que l'indicateur DPO est proche du niveau 0, il est déterminé comme une oscillation et aucun signal de trading n'est généré.
Plus précisément, la logique du jugement est:
Lorsque +DI passe au-dessus de -DI, il s'agit d'une croix dorée, indiquant un marché haussier.
Lorsque -DI passe sous +DI, il s'agit d'une croix morte, ce qui indique un marché baissier.
Si +DI/-DI se croise mais que l'indicateur DPO est proche de 0, il est déterminé comme oscillation et aucun signal n'est généré.
Le plus grand avantage de cette stratégie combinée est sa grande précision dans l'identification des tendances, générant des signaux de trading seulement lorsque des renversements de tendance réels se produisent, évitant ainsi des pertes répétées dans des intervalles oscillants.
L'utilisation de l'indicateur DMI pour déterminer la direction et la force de la tendance est un indicateur technique mature et fiable.
Filtrer les faux signaux dans les oscillations de gamme avec l'aide de l'indicateur DPO, générer des signaux uniquement lorsqu'une tendance se forme, éviter les pertes.
La combinaison de plusieurs indicateurs peut servir de vérification mutuelle et améliorer la fiabilité des signaux.
La logique de la stratégie est simple et facile à comprendre et à mettre en œuvre, adaptée au trading automatisé ou manuel.
Étant donné qu'il ne négocie que dans les tendances, il peut obtenir un ratio de risque-rendement relativement élevé.
Bien qu'il s'agisse d'une stratégie très fiable, il convient de noter les risques suivants:
Des événements soudains peuvent entraîner d'énormes mouvements unilatéraux sur le marché, ce qui peut entraîner la perte de telles opportunités de tendance.
L'indicateur DMI lui-même peut également générer des signaux erronés, et ce risque ne peut être complètement évité.
Les paramètres optimaux doivent être déterminés par des tests antérieurs répétés.
Les coûts de négociation auront un certain impact sur les bénéfices, de sorte que la fréquence de négociation doit être contrôlée.
Il reste encore des possibilités d'optimisation de cette stratégie:
Différentes combinaisons de paramètres peuvent être testées pour trouver les paramètres optimaux pour réduire le retard du signal et augmenter le taux de profit.
Peut être combiné avec d'autres indicateurs tels que KDJ, MACD, etc. pour la vérification afin d'améliorer la précision du signal.
Les paramètres d'adaptation peuvent être définis en fonction de différentes variétés, cycles, etc. pour rendre la stratégie plus adaptative.
Des arrêts dynamiques peuvent être réglés pour contrôler une seule perte.
Les méthodes d'apprentissage automatique peuvent être utilisées pour optimiser les temps d'entrée et de sortie pour des rendements plus élevés.
Cette stratégie combine les avantages des indicateurs DMI et DPO pour avoir une grande précision dans le jugement des renversements de tendance et peut identifier de manière fiable la génération de tendances. Dans le même temps, l'utilisation de l'indicateur DPO filtre efficacement le bruit causé par les oscillations de gamme, évitant les transactions inefficaces. Cela en fait une stratégie efficace adaptée au trading automatisé et à l'adoption manuelle. Bien sûr, il y a encore de nombreux détails qui peuvent être optimisés pour une meilleure performance de la stratégie. Mais l'idée de combiner les indicateurs a une importance de référence importante pour la conception de la stratégie de trading quantitative.
/*backtest start: 2022-12-28 00:00:00 end: 2024-01-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("DMI DPO Guard Strategy", calc_on_order_fills=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, currency="USD", commission_type=strategy.commission.percent, commission_value=0.25) ///Tradingview's DMI indicator logic/// len = input(34, minval=1, title="DI Lookback") up = change(high) down = -change(low) plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) trur = rma(tr, len) plus = fixnan(100 * rma(plusDM, len) / trur) minus = fixnan(100 * rma(minusDM, len) / trur) plot(plus, color=color.orange, title="+DI") plot(minus, color=color.aqua, title="-DI") period_ = input(34, title="Length", minval=1) isCentered = input(false, title="Centered") barsback = period_/2 + 1 ma = sma(close, period_) dpo = isCentered ? close[barsback] - ma : close - ma[barsback] plot(dpo, offset = isCentered ? -barsback : 0, title="Detrended Price Oscillator", color=#C0C000) hline(0, title="Zero Line", color = #C0C0C0) long = crossover(plus, minus) and (dpo > 0) short = crossunder(plus, minus) and (dpo < 0) strategy.entry("Long", strategy.long, when=long) strategy.entry("Short", strategy.short, when=short)