Estrategia dinámica de seguimiento de las fluctuaciones de las existencias de PSAR

El autor:¿ Qué pasa?, fecha: 2024-02-05 10:40:12
Las etiquetas:

img

Resumen general

Esta estrategia implementa un simple y eficiente seguimiento de la fluctuación de las acciones y una estrategia automática de take profit/stop loss basada en el indicador Parabolic SAR. Puede rastrear dinámicamente la tendencia alcista y bajista de los precios de las acciones y establecer automáticamente los puntos de take profit/stop loss en los puntos de reversión sin intervención manual, realizando el comercio automatizado.

Principio de la estrategia

Esta estrategia utiliza el indicador parabólico SAR para determinar la dirección de tendencia de las fluctuaciones del precio de las acciones. Cuando el indicador PSAR está por debajo de la línea K, indica una tendencia al alza; cuando el indicador PSAR está por encima de la línea K, indica una tendencia a la baja. La estrategia rastrea los cambios en los valores de PSAR en tiempo real para determinar los cambios en las tendencias.

Cuando se confirma una tendencia al alza, la estrategia establecerá un punto de stop loss en el punto PSAR de la siguiente BAR; cuando se confirma una tendencia a la baja, la estrategia establecerá un punto de take profit en el punto PSAR de la siguiente BAR. Esto logra la función automática take profit/stop loss cuando los precios de las acciones se invierten.

Al mismo tiempo, la estrategia cuenta con parámetros integrados como el valor inicial, el valor de paso y el valor máximo para ajustar la sensibilidad del indicador PSAR, optimizando así el efecto de tomar ganancias/detener pérdidas.

Análisis de ventajas

La mayor ventaja de esta estrategia es que se da cuenta de la automatización completa del seguimiento de la fluctuación de las acciones y toma automática de ganancias/detención de pérdidas.

En comparación con las estrategias tradicionales de stop loss/take profit, los puntos de take profit/stop loss de esta estrategia son variables, lo que puede capturar los cambios de precios y las oportunidades más rápidamente.

Después de la optimización de parámetros, esta estrategia puede obtener continuamente ganancias en las tendencias principales, mientras que automáticamente detiene las pérdidas para proteger al principal cuando se produce una reversión.

Análisis de riesgos

El mayor riesgo de esta estrategia es la probabilidad de que el indicador PSAR juzgue mal la dirección de la tendencia. Cuando el precio de la acción tiene un ajuste y fluctuación a corto plazo, el indicador PSAR puede dar una señal incorrecta. En este momento, es necesario optimizar razonablemente los parámetros de PSAR para mejorar la precisión del juicio.

Otro punto de riesgo es que el punto de toma de ganancias / stop loss está demasiado cerca del precio actual. Esto puede aumentar la probabilidad de que el punto de stop loss se rompa, lo que trae un mayor impacto al principal. En este momento, relaje adecuadamente el rango de toma de ganancias / stop loss para garantizar suficiente espacio de amortiguador.

Optimización de la estrategia

El potencial de optimización de esta estrategia se centra principalmente en el ajuste de los parámetros del indicador PSAR en sí mismo. Al probar diferentes existencias y optimizar los ajustes de valor inicial, valor de paso y valor máximo, el indicador PSAR puede ser más sensible a las fluctuaciones de precios, al tiempo que garantiza la precisión del juicio. Esto requiere mucho trabajo de backtesting y análisis.

Otra dirección de optimización es establecer el rango de take profit/stop loss. Es necesario estudiar el rango de fluctuación intradiaria de diferentes acciones y establecer requisitos razonables de relación beneficio/pérdida basados en esto. Esto puede reducir aún más la probabilidad de pérdida principal.

Resumen de las actividades

Esta estrategia utiliza el indicador Parabolic SAR para realizar un seguimiento de acciones totalmente automatizado y una estrategia de negociación automática take profit/stop loss. Su mayor ventaja es que no se requiere intervención manual, lo que puede reducir los costos de tiempo y energía. Los principales riesgos provienen de juicios erróneos de los indicadores, que pueden reducirse a través de la optimización de parámetros. En general, esta estrategia proporciona una solución eficiente y confiable para el comercio cuantitativo de acciones.


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


Más.