Stratégie de négociation basée sur l'écart type du volume de négociation

Auteur:ChaoZhang est là., Date: 2023-11-21 11:11:51 Je suis désolée
Les étiquettes:

img

Résumé

Cette stratégie construit un modèle de volume de négociation en utilisant la moyenne mobile et l'écart type du volume de négociation, et détermine la direction de la tendance avec la moyenne mobile du prix pour générer des signaux de négociation lorsque le volume est normal.

La logique de la stratégie

La logique de base est de construire un modèle de volume des transactions et de juger de la tendance des prix.

  1. Construire un modèle de volume de négociation
    • Calculer la moyenne mobile à 40 périodes du volume vavg comme référence
    • Calculer l'écart type de 40 périodes du volume vsd comme plage de fluctuation normale
    • Calculer la moyenne mobile à 5 périodes du volume vavgn comme dernier niveau de volume
    • Définir la limite inférieure du volume comme vavg moins 1 fois vsd
    • Définir la limite supérieure du volume comme vavg plus 2 fois vsd
  2. Évolution des prix des juges
    • Calculer la moyenne mobile sur 20 périodes du prix de clôture mavg comme indicateur de l'évolution des prix
  3. Générer des signaux de trading
    • Lorsque le MAVG dépasse la valeur de la journée précédente et que le VAVG dépasse la valeur de la limite inférieure, passez à long terme.
    • Lorsque la valeur de VWG est inférieure à celle de la journée précédente et que la valeur de VWG est supérieure à la limite inférieure, passez au short.
    • Fermer une position lorsque la tendance évoluera à l'inverse

La stratégie combine le modèle de volume de négociation et la tendance des prix pour éviter de poursuivre les tendances des prix lorsque le volume est anormal, ce qui peut filtrer certains faux signaux.

Analyse des avantages

  1. Combiner les changements de volume pour juger de la tendance des prix peut filtrer certains faux signaux et rendre les signaux de trading plus fiables
  2. La construction d'un modèle de volume de négociation utilisant l'écart type permet d'éviter un impact extrême sur le volume
  3. Les paramètres réglables de la moyenne mobile peuvent s'adapter aux variations de prix dans différents cycles

Analyse des risques

  1. Le volume et le prix peuvent diverger à court terme, ce qui conduit à des tendances manquantes des prix
  2. Des paramètres de volume incorrects peuvent entraîner une défaillance du modèle.
  3. L'absence de stop loss dans la stratégie peut entraîner des pertes importantes

Les solutions:

  1. Ajustez correctement les paramètres de moyenne mobile pour optimiser le modèle
  2. Ajouter une logique de stop-loss pour contrôler une seule perte

Directions d'optimisation

  1. Ajouter plus d'indicateurs pour juger de l'évolution des prix pour rendre les signaux plus fiables
  2. Augmenter le module d'apprentissage automatique pour former des paramètres de modèles de volume et de prix basés sur des données
  3. Ajouter une logique de stop-loss pour éviter une perte unique excessive
  4. Optimiser la logique d'entrée afin d'assurer une plus grande probabilité de capter les tendances
  5. Combinez des indicateurs tels que ATR pour ajuster automatiquement la distance de perte d'arrêt

Résumé

La logique générale de cette stratégie est claire, en utilisant le volume pour éviter de poursuivre de fausses tendances et les signaux d'entrée sont relativement fiables. Mais la stratégie elle-même est simple avec une grande marge d'expansion. En ajoutant plus d'indicateurs, d'apprentissage automatique, de stop loss et d'autres modules, elle peut améliorer encore la stabilité et la capacité de capturer les tendances. Il s'agit d'une stratégie typique de poursuite des tendances. Après optimisation, elle peut devenir une stratégie quantitative très pratique.


/*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")

Plus de