Stratégie dynamique de suivi des fluctuations des stocks de PSAR

Auteur:ChaoZhang est là., Date: 2024-02-05 10h40 et 12h
Les étiquettes:

img

Résumé

Cette stratégie met en œuvre un suivi simple et efficace des fluctuations des actions et une stratégie automatique de prise de profit/arrêt de perte basée sur l'indicateur SAR parabolique.

Principe de stratégie

Cette stratégie utilise l'indicateur SAR parabolique pour déterminer la direction de tendance des fluctuations des cours des actions. Lorsque l'indicateur PSAR est en dessous de la ligne K, il indique une tendance à la hausse; lorsque l'indicateur PSAR est au-dessus de la ligne K, il indique une tendance à la baisse.

Lorsqu'une tendance à la hausse est confirmée, la stratégie définit un point d'arrêt de perte au point PSAR du prochain BAR; lorsqu'une tendance à la baisse est confirmée, la stratégie définit un point de prise de profit au point PSAR du prochain BAR. Cela permet d'obtenir la fonction prise de profit/arrêt de perte automatique lorsque les cours des actions s'inversent.

Dans le même temps, la stratégie comporte des paramètres tels que la valeur de départ, la valeur d'étape et la valeur maximale pour ajuster la sensibilité de l'indicateur PSAR, optimisant ainsi l'effet de prise de profit/arrêt de perte.

Analyse des avantages

Le plus grand avantage de cette stratégie est qu'elle réalise une automatisation complète du suivi des fluctuations boursières et un stop-loss automatique.

Par rapport aux stratégies traditionnelles de stop loss/take profit, les points de stop loss/take profit de cette stratégie sont variables, ce qui permet de saisir plus rapidement les changements de prix et les opportunités.

Après l'optimisation des paramètres, cette stratégie peut continuellement profiter des tendances majeures, tout en arrêtant automatiquement la perte pour protéger le principal lorsque l'inversion survient.

Analyse des risques

Le plus grand risque de cette stratégie est la probabilité que l'indicateur PSAR évalue mal la direction de la tendance. Lorsque le prix de l'action a un ajustement et une fluctuation à court terme, l'indicateur PSAR peut donner un mauvais signal. À ce moment-là, il est nécessaire d'optimiser raisonnablement les paramètres du PSAR pour améliorer la précision du jugement.

Un autre point de risque est que le point de prise de profit / stop-loss est trop proche du prix actuel. Cela peut augmenter la probabilité que le point de stop-loss soit brisé, ce qui a un impact plus important sur le principal.

Optimisation de la stratégie

Le potentiel d'optimisation de cette stratégie se concentre principalement sur l'ajustement des paramètres de l'indicateur PSAR lui-même. En testant différents stocks et en optimisant les paramètres de valeur de départ, de valeur d'étape et de valeur maximale, l'indicateur PSAR peut être plus sensible aux fluctuations de prix, tout en assurant une précision de jugement. Cela nécessite beaucoup de travail de backtesting et d'analyse.

Une autre direction d'optimisation consiste à définir la plage de prise de profit/arrêt de perte. Il est nécessaire d'étudier la plage de fluctuation intrajournalière de différents stocks, et de fixer des exigences raisonnables de ratio profit/perte en fonction de cela. Cela peut encore réduire la probabilité de perte de capital.

Résumé

Cette stratégie utilise l'indicateur SAR Parabolique pour réaliser un suivi automatique des actions et une stratégie de trading automatique de prise de profit/arrêt de perte. Son plus grand avantage est qu'aucune intervention manuelle n'est requise, ce qui peut réduire les coûts de temps et d'énergie.


/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Swing Parabolic SAR Strategy", overlay=true)
start = input(0.02)
increment = input(0.02)
maximum = input(0.2)
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
	firstTrendBar = false
	SAR := nextBarSAR
	if bar_index == 1
		float prevSAR = na
		float prevEP = na
		lowPrev = low[1]
		highPrev = high[1]
		closeCur = close
		closePrev = close[1]
		if closeCur > closePrev
			uptrend := true
			EP := high
			prevSAR := lowPrev
			prevEP := high
		else
			uptrend := false
			EP := low
			prevSAR := highPrev
			prevEP := low
		firstTrendBar := true
		SAR := prevSAR + start * (prevEP - prevSAR)
	if uptrend
		if SAR > low
			firstTrendBar := true
			uptrend := false
			SAR := max(EP, high)
			EP := low
			AF := start
	else
		if SAR < high
			firstTrendBar := true
			uptrend := true
			SAR := min(EP, low)
			EP := high
			AF := start
	if not firstTrendBar
		if uptrend
			if high > EP
				EP := high
				AF := min(AF + increment, maximum)
		else
			if low < EP
				EP := low
				AF := min(AF + increment, maximum)
	if uptrend
		SAR := min(SAR, low[1])
		if bar_index > 1
			SAR := min(SAR, low[2])
	else
		SAR := max(SAR, high[1])
		if bar_index > 1
			SAR := max(SAR, high[2])
	nextBarSAR := SAR + AF * (EP - SAR)
	if barstate.isconfirmed
		if uptrend
			strategy.entry("short", strategy.short, stop=nextBarSAR, comment="short")
			strategy.cancel("long")
		else
			strategy.entry("long", strategy.long, stop=nextBarSAR, comment="long")
			strategy.cancel("short")
			
plot(SAR, style=plot.style_cross, linewidth=3, color=color.orange)
plot(nextBarSAR, style=plot.style_cross, linewidth=3, color=color.aqua)


Plus de