Stratégie de tendance du volume des prix modifiée basée sur les variations du volume des prix

Auteur:ChaoZhang est là., Date: 2023-12-01 14:56:17 Je suis désolé
Les étiquettes:

img

Résumé

Cette stratégie s'appelle Strategy Modified Price-Volume Trend Based on Price-Volume Changes. Cette stratégie calcule les changements cumulés de prix et de volume, combinés à des lignes moyennes mobiles pour établir des positions longues et courtes, afin de suivre la tendance.

Principe de stratégie

L'indicateur de base de cette stratégie est l'indicateur Modified Price Volume Trend (MPVT). Cet indicateur reflète l'enthousiasme du marché et les entrées et les sorties de capitaux à travers les changements de prix et de volume des transactions.

rV = Volume / 50000
xCumPVT = Yesterday's xCumPVT + (rV * (Latest Close Price - Yesterday's Close Price) / Yesterday's Close Price) 

Ensuite, en combinaison avec les paramètres de niveau et d'échelle, on construit l'indicateur de résidence des variations de prix-volume:

nRes = Level + Scale * xCumPVT

L'indicateur de résidence reflète les changements combinés de prix et de volume. Lorsqu'il dépasse sa moyenne mobile simple de N jours, passez long. Lorsqu'il tombe en dessous de sa moyenne mobile simple de N jours, passez court.

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. En évaluant l'enthousiasme du marché et la direction des flux de capitaux à l'aide d'indicateurs de volume-prix, on peut détecter rapidement les points tournants de la tendance.

  2. Adaptation flexible des paramètres de stratégie par l'optimisation des paramètres afin de les adapter aux différents environnements du marché.

  3. La stratégie de shorting peut être réalisée en définissant le paramètre d'entrée inverse pour élargir le scénario d'application de la stratégie.

Analyse des risques

Cette stratégie comporte également certains risques:

  1. Les indicateurs de prix-volume sont sujets à de faux signaux, et il peut y avoir des cas où les percées ne sont pas valides.

  2. Il est plus approprié pour les marchés de tendance et peut produire de faux signaux sur les marchés à fourchette.

  3. L'effet de l'optimisation des paramètres dépend du cycle historique, ce qui peut entraîner des risques de suradaptation.

Directions d'optimisation

Les aspects suivants peuvent être considérés pour optimiser cette stratégie:

  1. Testez différentes moyennes mobiles, telles que la moyenne mobile pondérée, l'EMA, etc., pour voir quelle combinaison fonctionne mieux.

  2. Combiner avec d'autres indicateurs, tels que RSI, KD, etc., pour filtrer les signaux et réduire la probabilité de faux signaux.

  3. Testez différentes combinaisons de paramètres pour trouver la paire de paramètres optimale. Des méthodes d'optimisation par étapes peuvent également être adoptées pour mettre à jour les paramètres en temps réel.

  4. Améliorer la stabilité de la stratégie en la combinant avec des indicateurs de tendance tels que les bandes de Bollinger.

Résumé

Cette stratégie calcule les changements cumulés de prix et de volume pour concevoir un indicateur de résidence de changement de prix-volume, qui peut refléter efficacement les entrées et les sorties de capitaux.


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-20 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/07/2018
//  The related article is copyrighted material from
//  Stocks & Commodities.
//  Strategy by HPotter.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Modified Price-Volume Trend Backtest", shorttitle="MPVT")
Level = input(0)
Scale = input(1)
Length = input(23)
reverse = input(false, title="Trade reverse")
xOHLC4 = ohlc4
xV = volume
rV = xV / 50000
xCumPVT = nz(xCumPVT[1]) + (rV * (xOHLC4 - xOHLC4[1]) / xOHLC4[1])
nRes = Level + Scale * xCumPVT
xMARes = sma(nRes, Length)
pos = iff(nRes > xMARes, 1,
       iff(nRes < xMARes, -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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(nRes, color=red, title="MPVT", linewidth = 2)
plot(xMARes, color=blue, title="MPVT", linewidth = 2)

Plus de