Stratégie de suivi de tendance basée sur l'écart type du volume


Date de création: 2023-11-21 11:11:51 Dernière modification: 2023-11-21 11:11:51
Copier: 0 Nombre de clics: 706
1
Suivre
1617
Abonnés

Stratégie de suivi de tendance basée sur l’écart type du volume

Aperçu

La stratégie utilise les moyennes mobiles et les écarts standard pour construire un modèle de volume de transactions, combiné à la moyenne mobile des prix pour déterminer la direction de la tendance et émettre un signal de transaction dans le cas d’un volume de transactions normal. La stratégie définit également un seuil de volume de transactions élevé ou faible, ce qui permet d’éviter d’émettre un signal erroné dans le cas d’un volume de transactions anormal.

Principe de stratégie

La logique de base est de construire des modèles de volumes de transactions et de discerner les tendances des prix.

  1. Modélisation du volume des transactions
    • Calculer le volume des transactions en utilisant une moyenne mobile de 40 cycles comme référence pour le volume des transactions
    • Calculer le décalage standard de 40 cycles de la longueur du volume de transactions vsd comme une plage de fluctuation normale du volume de transactions
    • Calculer le volume des transactions en utilisant une moyenne mobile de 5 cycles de longueur comme niveau le plus récent du volume des transactions
    • La valeur de l’opération est la valeur de l’opération.
    • Le montant maximal de la transaction est défini comme vvg plus 2 fois vsd
  2. Comment évaluer la tendance des prix
    • Calculer une moyenne mobile mavg de 20 cycles pour la longueur du prix comme indicateur de tendance des prix
  3. Signaux de négociation
    • Lorsque mavg dépasse son jour précédent, faites plus sivavgn est supérieur à la limite basse
    • Lorsque mavg dépasse son jour précédent, laissez-passer sivavgn est supérieur à la limite basse
    • La tendance à la levée de fonds est inversée.

Cette stratégie, combinant un modèle de volume de transactions et une tendance des prix, évite de suivre la tendance des prix en cas de volume anormal et permet de filtrer certains faux signaux.

Analyse des forces stratégiques

  1. Les changements de volume de transactions peuvent être combinés avec des tendances de prix pour filtrer les faux signaux et rendre les signaux plus fiables
  2. Modéliser le volume des transactions à l’aide de la différence entre les volumes de transaction standardisés afin d’éviter les effets d’une variation extrême du volume des transactions
  3. Les paramètres des moyennes mobiles sont réglables pour s’adapter aux variations de prix de différentes périodes

Analyse stratégique des risques

  1. Des écarts dans le volume et les prix à court terme peuvent entraîner des tendances de prix manquées
  2. Une mauvaise configuration des paramètres de volume de transaction peut entraîner une défaillance du modèle
  3. La stratégie elle-même n’a pas de paramètre de stop-loss, ce qui peut entraîner des pertes plus importantes.

Comment gérer les risques:

  1. Ajustement approprié des paramètres de la moyenne mobile, optimisation du modèle
  2. Ajout de la logique de stop-loss pour contrôler les pertes individuelles

Orientation de l’optimisation de la stratégie

  1. Ajout d’autres indicateurs pour déterminer les tendances des prix, rendant les signaux plus précis et plus fiables
  2. Ajout d’un module d’apprentissage automatique basé sur des paramètres de volume de transaction et de modèle de prix de formation de données
  3. Augmentation de la logique de stop-loss pour éviter une perte excessive
  4. Optimisation de la logique d’entrée afin d’assurer une plus grande probabilité de capture de tendance
  5. Combiné à des indicateurs similaires à l’ATR pour ajuster automatiquement la distance de rupture

Résumer

La stratégie est globalement bien pensée, utilise le volume des transactions pour éviter de suivre les fausses tendances, et les signaux d’entrée sont plus fiables. Cependant, la stratégie elle-même est simple, elle peut être étendue et optimisée en ajoutant plus d’indicateurs, d’apprentissage automatique, de stop loss et d’autres modules.

Code source de la stratégie
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dongyun

//@version=4
strategy("交易量底部标准差系统", overlay=true)

options = input(1,'')
length = input(40,'')
nlow = input(5,'')
factor = input(1.0,'')

vavg = 0.0
vavgn = 0.0
vsd = 0.0
lowlimit = 0.0
uplimit = 0.0
mavg = 0.0
aror = 0.0
adjvol = 0.0
savevol = 0.0


//Find average volume, replacing bad values
adjvol := volume

if (volume != 0)
	savevol := volume
else
	savevol := savevol[1]
	adjvol := savevol


// Replace high volume days because they distort standard deviation
if (adjvol > 2 * factor * nz(vsd[1]))
	adjvol := savevol
else
	adjvol := adjvol[1]

vavg := sma(adjvol,length)
vsd := stdev(adjvol,length)
vavgn := sma(adjvol,nlow)

// Extreme volume limits
lowlimit := vavg - factor * vsd
uplimit := vavg + 2 * factor * vsd

// System rules based on moving average trend
mavg := sma(close,length/2)

// Only enter on new trend signals
if (options == 2)
	if (mavg > mavg[1] and mavg[1] <= mavg[2])
		strategy.entry("Long", strategy.long)
	if (mavg<mavg[1] and mavg[1]>=mavg[2])
		strategy.entry("Short", strategy.short)
else
	if (mavg > mavg[1] and vavgn > lowlimit)
		strategy.entry("Long", strategy.long)
	if (mavg < mavg[1] and vavgn > lowlimit)
		strategy.entry("Short", strategy.short)

// Exit on low volume
if (options != 1)
	if (mavg<mavg[1] or (strategy.position_size > 0 and vavgn<= lowlimit))
		strategy.close("Long")
	if (mavg>mavg[1] or (strategy.position_size > 0 and vavgn<= lowlimit))
		strategy.close("Short")
else
	if (mavg < mavg[1])
		strategy.close("Long")
	if (mavg > mavg[1])
		strategy.close("Short")