Estrategia de compra y venta de VWAP y SuperTrend

VWAP ATR
Fecha de creación: 2024-06-03 10:45:14 Última modificación: 2024-06-03 10:45:14
Copiar: 0 Número de Visitas: 1114
1
Seguir
1617
Seguidores

Estrategia de compra y venta de VWAP y SuperTrend

Descripción general

La estrategia combina el VWAP (precio medio ponderado por volumen de transacción) y el indicador de tendencia súper. Para juzgar la señal de compra y venta, se compara la posición relativa del precio con el VWAP y la dirección del indicador de tendencia súper. Se genera una señal de compra cuando el precio atraviesa el VWAP y la tendencia súper es positiva; se genera una señal de venta cuando el precio atraviesa el VWAP y la tendencia súper es negativa.

Principio de estrategia

  1. Calcula el indicador VWAP, usando la función ta.vwap, que permite personalizar la longitud del VWAP.
  2. Para calcular el indicador de supertrend, se utiliza la función ta.supertrend, que permite personalizar el ciclo y el multiplicador de ATR.
  3. Para determinar las condiciones de compra: el precio actual es el VWAP y la dirección de la tendencia es positiva.
  4. En el caso de las condiciones de venta, el precio actual es inferior al VWAP y la dirección de la tendencia super es negativa.
  5. Registra el estado de la señal anterior para evitar la aparición de señales simultáneas. Una nueva señal de transacción se generará solo si la señal actual es diferente de la señal anterior.

Ventajas estratégicas

  1. La combinación de los dos indicadores VWAP y Supertrends permite un juicio más amplio de las tendencias del mercado y los posibles puntos de inflexión.
  2. El indicador VWAP tiene en cuenta el volumen de transacciones y refleja mejor la tendencia real del mercado.
  3. El indicador de tendencias súper tiene características de seguimiento de tendencias y vibraciones de filtro, lo que ayuda a capturar las principales tendencias.
  4. Se puede reducir la frecuencia de las transacciones y reducir los costos de las transacciones evitando mecanismos de duplicación de señales.

Riesgo estratégico

  1. Esta estrategia puede generar más señales falsas cuando el mercado está más volátil o la tendencia es incierta.
  2. El rendimiento de la estrategia depende de la elección de los parámetros VWAP y Supertrend, y diferentes configuraciones de parámetros pueden dar lugar a diferentes resultados.
  3. La estrategia no tiene en cuenta la gestión de riesgos y el control de posiciones, y la aplicación real requiere la combinación de otras medidas para controlar el riesgo.

Dirección de optimización de la estrategia

  1. Añadir mecanismos de confirmación de tendencias, como el uso de líneas medias u otros indicadores de tendencias, para filtrar aún más las señales.
  2. Optimización de la selección de parámetros para encontrar la combinación óptima de longitud VWAP, ciclo ATR y multiplicador mediante el análisis de los datos históricos.
  3. Introducir medidas de gestión de riesgos, como el establecimiento de paradas y paradas, para controlar el riesgo de una sola transacción.
  4. Considere incorporar estrategias de administración de fondos, como proporciones fijas o la fórmula de Kelly, para optimizar el tamaño de la posición.

Resumir

VWAP y la estrategia de compra y venta de tendencias súper buscan capturar de manera integral las tendencias del mercado y los posibles puntos de inflexión mediante la combinación de dos tipos diferentes de indicadores. La lógica de la estrategia es clara, fácil de implementar y optimizar. Sin embargo, el rendimiento de la estrategia depende de la selección de parámetros y carece de medidas de gestión de riesgos.

Código Fuente de la Estrategia
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="VWAP and Super Trend Buy/Sell Strategy", shorttitle="VWAPST", overlay=true)


//===== VWAP =====
showVWAP = input.bool(title="Show VWAP", defval=true, group="VWAP")
VWAPSource = input.source(title="VWAP Source", defval=hl2, group="VWAP")
VWAPrice = ta.vwap(VWAPSource)
plot(showVWAP ? VWAPrice : na, color=color.teal, title="VWAP", linewidth=2)


//===== Super Trend =====
showST = input.bool(true, "Show SuperTrend Indicator", group="Super Trend")
Period = input.int(title="ATR Period", defval=10, group="Super Trend")
Multiplier = input.float(title="ATR Multiplier", defval=2.0, group="Super Trend")


// Super Trend ATR
Up = hl2 - (Multiplier * ta.atr(Period))
Dn = hl2 + (Multiplier * ta.atr(Period))
var float TUp = na
var float TDown = na
TUp := na(TUp[1]) ? Up : close[1] > TUp[1] ? math.max(Up, TUp[1]) : Up
TDown := na(TDown[1]) ? Dn : close[1] < TDown[1] ? math.min(Dn, TDown[1]) : Dn
var int Trend = na
Trend := na(Trend[1]) ? 1 : close > TDown[1] ? 1 : close < TUp[1] ? -1 : Trend[1]


Tsl = Trend == 1 ? TUp : TDown
linecolor = Trend == 1 ? color.green : color.red
plot(showST ? Tsl : na, color=linecolor, style=plot.style_line, linewidth=2, title="SuperTrend")


// Buy/Sell Conditions
var bool previousBuysignal = false
var bool previousSellsignal = false


buysignal = not previousBuysignal and Trend == 1 and close > VWAPrice
sellsignal = not previousSellsignal and Trend == -1 and close < VWAPrice


// Ensure the signals are not repetitive
if (buysignal)
    previousBuysignal := true
    previousSellsignal := false
else if (sellsignal)
    previousBuysignal := false
    previousSellsignal := true


// Execute buy and sell orders
if (buysignal)
    strategy.entry("Buy", strategy.long)
if (sellsignal)
    strategy.entry("Sell", strategy.short)


// Plot Buy/Sell Labels
//plotshape(buysignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", textcolor=color.white, size=size.normal)
//plotshape(sellsignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", textcolor=color.white, size=size.normal)