
La stratégie de trading en volume dynamique à tendance quantifiée est une stratégie de trading quantifiée à plusieurs têtes qui combine le suivi de la tendance, l’indicateur de mouvement et la voie de la ceinture de Bull. La stratégie utilise les croisements des moyennes mobiles rapides pour déterminer la direction de la tendance, tout en combinant la voie de la ceinture de Bull et l’indicateur de volume dynamique pour confirmer les signaux d’entrée.
Le principe central de cette stratégie est d’utiliser les tendances des prix et les effets de la dynamique pour saisir les opportunités du marché. Plus précisément, la stratégie utilise deux moyennes mobiles de différentes périodes (la ligne rapide et la ligne lente) pour juger de la direction de la tendance des prix.
Pour confirmer davantage la tendance et le moment d’entrée, la stratégie combine également les canaux de la ceinture de Brin et l’indicateur de dynamique. La ceinture de Brin est composée de trois lignes: la voie médiane est la moyenne mobile, la voie supérieure et la voie inférieure sont respectivement plus et moins une certaine différence standard sur la base de la voie médiane.
En outre, la stratégie a introduit des indicateurs de dynamique pour mesurer la vitesse de baisse des prix en comparant les prix actuels avec ceux d’avant une certaine période. Les indicateurs de dynamique peuvent être utilisés pour déterminer la force ou la faiblesse d’une tendance, fournissant ainsi une confirmation supplémentaire pour l’entrée.
En ce qui concerne la gestion des positions, la stratégie permet de régler la taille des positions en fonction des fonds du compte et des préférences de risque. En outre, la stratégie dispose d’un stop loss et d’un stop loss tracking pour contrôler l’ouverture des risques d’une seule transaction.
Dans l’ensemble, la stratégie de trading en volumes de tendance quantifiée par la méthode d’Easy-to-Quantitative vise à capturer les opportunités de tendance du marché tout en contrôlant strictement les risques et en obtenant des rendements solides sur l’investissement.
Suivi de la tendance: la stratégie utilise les croisements de la ligne moyenne rapide et lente pour capturer les opportunités tendancielles de prix, en faisant des tendances à la hausse ou à la baisse, en s’adaptant à différentes conditions du marché.
Confirmation de la dynamique: l’introduction de l’indicateur de dynamique comme confirmation secondaire de la tendance contribue à éliminer les faux signaux et à améliorer la qualité de l’entrée.
Les bandes de bourgeons aident à la prise de décision: les bandes de bourgeons peuvent refléter les bandes de fluctuation des prix, et la rupture des bandes de bourgeons peut être considérée comme un signal d’accélération de la tendance ou de fluctuation anormale des prix, fournissant une référence pour l’entrée.
Gestion des positions: La stratégie utilise une méthode de gestion des positions basée sur le ratio et les limites des fonds du compte, permettant de contrôler de manière flexible l’utilisation des fonds pour chaque transaction, en tirant le meilleur parti des fonds et en ne les exposant pas excessivement au risque.
Stop Loss: avec le Stop Loss et le Tracking Stop Loss, vous pouvez protéger vos profits lorsque le prix évolue dans la direction attendue, tout en vous arrêtant définitivement lorsque le prix est inversé, ce qui permet de contrôler efficacement la perte maximale d’une seule transaction.
Optimisation multi-paramètres: la stratégie contient plusieurs paramètres modifiables, tels que la période de moyenne, le paramètre de la bande de Bryn, le taux de stop loss, etc. L’optimisation des paramètres peut améliorer l’adaptabilité et la robustesse de la stratégie.
Traite fréquente: Cette stratégie génère des signaux d’entrée basés sur les croisements de la ligne moyenne et les ruptures de la ceinture de Brin. Les signaux de transaction peuvent être générés fréquemment lorsque les fluctuations du marché sont importantes, ce qui entraîne un nombre excessif de transactions, un coût accru de commissions et un coût de dérapage.
Sensitivité des paramètres: la stratégie contient plusieurs paramètres, tels que le cycle de la moyenne, le cycle de la dynamique, les paramètres de la bande de Bryn, etc. Le choix de différents paramètres peut avoir un impact important sur l’efficacité de la stratégie. Si les paramètres sont mal choisis, cela peut entraîner une mauvaise performance de la stratégie.
Décalage d’identification des tendances: les moyennes mobiles sont un indicateur de décalage, en particulier lorsque les cycles de la moyenne sont plus longs, la vitesse de détection des changements de tendance est plus lente et le meilleur moment d’entrée peut être manqué.
Risque d’arrêt: bien que la stratégie ait mis en place des mesures d’arrêt, dans des situations extrêmes (comme un saut rapide), le prix peut dépasser directement le prix d’arrêt, ce qui entraîne des pertes réelles supérieures aux attentes.
Risque de concentration des positions: si la stratégie produit des signaux de synchronisation en continu pendant une certaine période, cela peut entraîner une concentration excessive des positions dans une certaine direction, ce qui entraîne un risque de détention plus élevé.
Risque de liquidité: la réévaluation et l’efficacité de la stratégie peuvent être affectées par la liquidité du marché, en particulier lors d’opérations de capitaux volumineux, qui peuvent faire face à des points de glissement et à un volume insuffisant.
L’introduction de plus d’indicateurs techniques: Sur la base de la moyenne, de la dynamique et de la bande de Brin actuelle, il est possible d’essayer d’introduire plus d’indicateurs techniques, tels que le RSI, le MACD, etc., afin d’améliorer la fiabilité du signal par la confirmation conjointe de plusieurs indicateurs.
Optimisation des mécanismes d’entrée et de sortie: il peut être envisagé d’introduire plus de conditions dans les jugements d’entrée et de sortie, telles que la nécessité de satisfaire à certaines exigences de volume de transaction avant la rupture des prix, l’utilisation d’un placement par lots ou d’un arrêt mobile lors de la sortie, afin d’accroître la flexibilité et la rentabilité de la stratégie.
Paramètres d’ajustement dynamique: Pour les paramètres de cycles de moyenne ligne, de cycles de dynamique, de bandes de Brill, etc., un mécanisme d’adaptation automatique des paramètres peut être conçu, en fonction de l’état du marché et du niveau de volatilité, afin d’ajuster dynamiquement les paramètres pour améliorer l’adaptabilité de la stratégie.
Amélioration de la gestion des positions: sur la base de la gestion des positions actuelle, des méthodes de gestion de fonds plus avancées peuvent être introduites, telles que la formule de Kelly, le taux fixe, les intérêts dynamiques, etc., afin de mieux équilibrer les gains et les risques.
Combination avec l’analyse fondamentale: les stratégies d’analyse purement technique peuvent être exposées à des risques d’inefficacité ou de défaillance du marché. L’efficacité de la stratégie peut être améliorée si des facteurs fondamentaux, tels que les données macroéconomiques, les tendances de l’industrie, etc., peuvent être combinés pour filtrer et confirmer les signaux techniques.
Renforcer la cohérence entre les retours et les résultats en temps réel: les stratégies peuvent varier en fonction de la performance des retours et des résultats en temps réel. La qualité de l’exécution des retours et des résultats en temps réel, y compris les prix de transaction, les points de glissement et les délais, doit être une priorité pour assurer la cohérence entre les résultats des retours et les résultats des retours.
La stratégie de trading quantitatif dynamique de tendance quantifiée par l’EasyTrader est une stratégie de trading quantitatif qui combine plusieurs méthodes d’analyse technique. Elle utilise la capture de tendance à la croisée de la même ligne, la confirmation de la tendance par la rupture de la ceinture de Brin, la vitesse de réflexion des indicateurs dynamiques, le contrôle du risque d’arrêt et de perte, la gestion de la position pour optimiser l’utilisation des fonds, formant un ensemble complet de décisions et de systèmes de gestion des transactions.
L’avantage de cette stratégie réside dans la combinaison du suivi des tendances et de la dynamique, l’aide du jugement de Brin, la gestion des positions et la prise en compte des stop-loss, afin de saisir les opportunités du marché grâce à une analyse et une prise de décision multidimensionnelles. Cependant, cette stratégie est également confrontée à des risques potentiels tels que la fréquence des transactions, la sensibilité aux paramètres, le retard dans l’identification des tendances et l’incapacité de couvrir les pertes.
En outre, les stratégies de trading quantitatif peuvent présenter des différences entre les résultats de la rétroanalyse et les performances sur le terrain, ce qui nécessite une attention particulière aux questions de niveau d’exécution telles que les prix d’exécution, les points de glissement et les délais, afin d’améliorer la faisabilité et la stabilité de la stratégie. De plus, les stratégies de trading quantitatif ne doivent pas être limitées à l’analyse technique, car une combinaison appropriée de facteurs fondamentaux contribuera à améliorer la globalité et l’efficacité des décisions.
Dans l’ensemble, la stratégie de trading dynamique de tendance quantifiée de MetaTrader 4 offre une approche plus complète et viable pour la pratique du trading quantifié, mais l’efficacité finale de la stratégie dépend également de la pondération des différentes opportunités et risques et de l’optimisation des détails. Dans la pratique, il est nécessaire d’ajuster et d’améliorer la stratégie en fonction de ses propres préférences en matière de risque, de la taille de son capital et du marché de la négociation.
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('甲易炳', overlay=true)
// Parameters
trendPeriod = input(50, 'Trend Period')
momentumPeriod = input(14, 'Momentum Period')
bbPeriod = input(20, 'Bollinger Bands Period')
bbDeviation = input(2, 'Bollinger Bands Deviation')
fastMALen = input(23, 'Fast SMA Length')
slowMALen = input(50, 'Slow SMA Length')
longTakeProfitPerc = input.float(0.5, 'Long Take Profit %', minval=0.05, step=0.05) * 0.01
shortTakeProfitPerc = input.float(0.5, 'Short Take Profit %', minval=0.05, step=0.05) * 0.01
stopLossPerc = input.float(0.5, 'Stop Loss %', minval=0.05, step=0.05) * 0.01
enableTrailing = input.bool(true, 'Enable Trailing')
trailingTakeProfitPerc = input.float(0.01, 'Trailing Take Profit %', minval=0.01, maxval=100, step=0.01) * 0.01
trailingStopLossPerc = input.float(0.5, 'Trailing Stop Loss %', minval=0.05, step=0.05) * 0.01
qty_percent = input.int(20, 'Position Size %', step=1)
qty_cap = input.int(10000, 'Max Position Size', step=1000)
beast_mode = input.bool(false, 'Beast Mode')
set_cap = input.bool(true, 'Cap Position Size')
strategy.initial_capital = 50000
// Calculate position size
qty1 = (strategy.initial_capital + strategy.netprofit) * qty_percent / 10 / close
qty = (set_cap and qty1 > qty_cap) ? qty_cap : qty1
// Calculate moving averages
fastMA = ta.sma(close, fastMALen)
slowMA = ta.sma(close, slowMALen)
// Bollinger Bands
[upperBB, middleBB, lowerBB] = ta.bb(close, bbPeriod, bbDeviation)
// Entry conditions
buySignal = ta.crossover(close, fastMA) and close > upperBB
sellSignal = ta.crossunder(close, fastMA) and close < lowerBB
// Rampage mode entry conditions
if beast_mode
buySignal := buySignal and fastMA > fastMA[2]
sellSignal := sellSignal and fastMA < fastMA[2]
// Active positions
longIsActive = buySignal or strategy.position_size > 0
shortIsActive = sellSignal or strategy.position_size < 0
// Declare take profit and stop loss variables
var float longTakeProfitPrice = na
var float shortTakeProfitPrice = na
// Take profit and stop loss calculation
if longIsActive
if buySignal and not (strategy.position_size > 0)
longTakeProfitPrice := close * (1 + longTakeProfitPerc)
else
longTakeProfitPrice := nz(longTakeProfitPrice[1], close * (1 + longTakeProfitPerc))
if shortIsActive
if sellSignal and not (strategy.position_size < 0)
shortTakeProfitPrice := close * (1 - shortTakeProfitPerc)
else
shortTakeProfitPrice := nz(shortTakeProfitPrice[1], close * (1 - shortTakeProfitPerc))
longTrailingTakeProfitStepTicks = longTakeProfitPrice * trailingTakeProfitPerc / syminfo.mintick
shortTrailingTakeProfitStepTicks = shortTakeProfitPrice * trailingTakeProfitPerc / syminfo.mintick
longTrailingStopLossPrice = close * (1 - trailingStopLossPerc)
shortTrailingStopLossPrice = close * (1 + trailingStopLossPerc)
// Entries and exits
if strategy.position_size == 0
strategy.entry('Long Entry', qty=qty, direction=strategy.long, when=buySignal, alert_message='Long Entry')
strategy.entry('Short Entry', qty=qty, direction=strategy.short, when=sellSignal, alert_message='Short Entry')
strategy.exit('Long Take Profit', 'Long Entry', loss=close * stopLossPerc / syminfo.mintick, limit=enableTrailing ? na : longTakeProfitPrice, trail_price=enableTrailing ? longTakeProfitPrice : na, trail_offset=enableTrailing ? longTrailingTakeProfitStepTicks : na, when=longIsActive, alert_message='Long Take Profit')
strategy.exit('Short Take Profit', 'Short Entry', loss=close * stopLossPerc / syminfo.mintick, limit=enableTrailing ? na : shortTakeProfitPrice, trail_price=enableTrailing ? shortTakeProfitPrice : na, trail_offset=enableTrailing ? shortTrailingTakeProfitStepTicks : na, when=shortIsActive, alert_message='Short Take Profit')
else
if longIsActive
strategy.exit('Long Stop Loss', 'Long Entry', stop=longTrailingStopLossPrice, when=longIsActive)
if shortIsActive
strategy.exit('Short Stop Loss', 'Short Entry', stop=shortTrailingStopLossPrice, when=shortIsActive)
// Plotting
plot(fastMA, 'Fast SMA', color=color.blue, linewidth=1, style=plot.style_line)
plot(slowMA, 'Slow SMA', color=color.orange, linewidth=1, style=plot.style_line)
plot(upperBB, 'Upper BB', color=color.green, linewidth=1, style=plot.style_line)
plot(lowerBB, 'Lower BB', color=color.red, linewidth=1, style=plot.style_line)