Estrategia de compra con ruptura de volumen y precio

SMA
Fecha de creación: 2024-05-17 14:54:13 Última modificación: 2024-05-17 14:54:13
Copiar: 2 Número de Visitas: 730
1
Seguir
1617
Seguidores

Estrategia de compra con ruptura de volumen y precio

Descripción general

Una estrategia de compra-venta de brecha de precio es una estrategia de negociación cuyo objetivo es identificar oportunidades de compra mediante la detección de brechas de precio y volumen de transacción que ocurren simultáneamente en un rango de gráfico determinado. La estrategia utiliza primero un número determinado de hilos como una ventana de verificación de precios y volumen de transacción.

Principio de estrategia

  1. Configure el ciclo de ruptura de precios y el ciclo de ruptura de volumen como ventanas de verificación.
  2. Obtenga los precios más altos y más bajos durante el período de ruptura.
  3. Obtener el mayor volumen de transacciones durante el período de ruptura de volumen.
  4. Si el precio de cierre es más alto que el precio más alto del ciclo anterior, el volumen de operaciones es más alto que el volumen de operaciones más alto del ciclo anterior, el precio de cierre es más alto que el promedio móvil simple de la longitud de la línea de tendencia (SMA), y no hay ninguna operación de apertura de posición en la actualidad, y la dirección de la orden no está configurada para estar en blanco, entonces comienza a hacer más.
  5. Si el SMA de cierre se mantiene por debajo de la longitud de la línea de tendencia durante 5 días consecutivos, elimine todas las posiciones de más cabeza.
  6. Si el precio de cierre es inferior al mínimo del ciclo anterior, el volumen de operaciones es superior al máximo del ciclo anterior, el precio de cierre es inferior al SMA de la longitud de la línea de tendencia, y no hay ninguna operación abierta actualmente, y la dirección de la orden no está configurada para hacer más, entonces comienza el vacío.
  7. Si el SMA de cierre es superior a la longitud de la línea de tendencia durante 5 días consecutivos, aplanar todas las posiciones en blanco.

Ventajas estratégicas

  1. Al mismo tiempo, el uso de brechas de precios y volúmenes de transacciones como señales de compra y venta permite una mejor identificación de los cambios de tendencia.
  2. Antes de abrir una posición, verifique si el precio está por encima o por debajo de la SMA a largo plazo para asegurarse de que la operación está en consonancia con las principales tendencias del mercado.
  3. La configuración de un cierre de varios días consecutivos a través de la SMA como señal de cerrazón puede capturar de manera efectiva el final de la tendencia.
  4. Se aplica a activos altamente volátiles, como Bitcoin y Ethereum, que pueden aprovecharse de los cambios repentinos de precios y volúmenes de transacción en el mercado para obtener ganancias.

Riesgo estratégico

  1. La estrategia puede conducir a transacciones frecuentes, lo que aumenta los costos de transacción, en situaciones en las que la volatilidad del mercado es pequeña o no hay una tendencia evidente.
  2. Para mercados menos volátiles, como el índice S&P 500, la estrategia puede no ser tan efectiva como en el mercado de criptomonedas.
  3. Esta estrategia puede generar menos señales de transacción en un marco de tiempo más alto, ya que la mayoría de las transacciones tienden a tener un período de tenencia más largo.

Dirección de optimización de la estrategia

  1. Ajuste la duración de los períodos de ruptura de precios y de ruptura de volumen de acuerdo con las diferentes características del mercado para adaptarse a las características de fluctuación de los diferentes activos.
  2. Trate de usar otros indicadores de confirmación de tendencias, como el promedio móvil del índice, el MACD, etc., para mejorar la precisión de los juicios de tendencias.
  3. Incorporar medidas de gestión de riesgos en la estrategia, como el establecimiento de límites de pérdidas, el ajuste dinámico de las posiciones, etc., para reducir el umbral de riesgo de una sola operación.
  4. Para las operaciones con un período de tenencia más largo, se puede considerar la inclusión de una estrategia de parada móvil para proteger mejor los beneficios obtenidos.

Resumir

La “estrategia de compra-venta de brecha de precios” es una estrategia de seguimiento de tendencias que se aplica en mercados altamente volátiles. Al considerar brechas de precios y volúmenes de transacciones al mismo tiempo, y combinar el SMA a largo plazo como un filtro de tendencia, la estrategia puede capturar mejor las oportunidades de negociación en situaciones de tendencia fuerte. Sin embargo, la estrategia puede no funcionar bien en mercados con tendencias poco evidentes o menos volátiles, y puede correr el riesgo de operaciones frecuentes.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tradedots

//@version=5
strategy("Price and Volume Breakout Buy Strategy [TradeDots]", overlay=true, initial_capital = 10000, default_qty_type = strategy.percent_of_equity, default_qty_value = 70, commission_type = strategy.commission.percent, commission_value = 0.01)

input_price_breakout_period = input.int(60, "Price Breakout Period")
input_volume_breakout_period = input.int(60, "Volume Breakout Period")
input_trendline_legnth = input.int(200, "Trendline Length")
input_order_direction = input.string("Long", options = ["Long", "Short", "Long and Short"], title = "Order Direction")

price_highest = ta.highest(input_price_breakout_period)
price_lowest = ta.lowest(input_price_breakout_period)
volume_highest = ta.highest(volume, input_volume_breakout_period)

// Long Orders
if close > price_highest[1] and volume > volume_highest[1] and close > ta.sma(close, input_trendline_legnth) and strategy.opentrades == 0 and input_order_direction != "Short"
    strategy.entry("Long", strategy.long)
    // line.new(bar_index[input_price_breakout_period], price_highest[1], bar_index, price_highest[1], color = #9cff87, width = 2)
    // label.new(bar_index,low, "🟢 Breakout Buy", style = label.style_label_up, color = #9cff87)

// Close when price is below moving average for 5 consecutive days
if close < ta.sma(close, input_trendline_legnth) and close[1] < ta.sma(close, input_trendline_legnth) and close[2] < ta.sma(close, input_trendline_legnth) and close[3] < ta.sma(close, input_trendline_legnth) and close[4] < ta.sma(close, input_trendline_legnth) and strategy.opentrades.size(strategy.opentrades - 1) > 0
    strategy.close("Long")
    // label.new(bar_index, high, "🔴 Close Position", style = label.style_label_down, color = #f9396a, textcolor = color.white)

// Short Orders
if close < price_lowest[1] and volume > volume_highest[1] and close < ta.sma(close, input_trendline_legnth) and strategy.opentrades == 0 and input_order_direction != "Long"
    strategy.entry("Short", strategy.short)
    // line.new(bar_index[input_price_breakout_period], price_lowest[1], bar_index, price_lowest[1], color = #f9396a, width = 2)
    // label.new(bar_index,high , "🔴 Breakout Sell", style = label.style_label_down, color = #f9396a, textcolor = color.white)

// Close when price is above moving average for 5 consecutive days
if close > ta.sma(close, input_trendline_legnth) and close[1] > ta.sma(close, input_trendline_legnth) and close[2] > ta.sma(close, input_trendline_legnth) and close[3] > ta.sma(close, input_trendline_legnth) and close[4] > ta.sma(close, input_trendline_legnth) and strategy.opentrades.size(strategy.opentrades - 1) < 0
    strategy.close("Short")
    // label.new(bar_index, low, "🟢 Close Position", style = label.style_label_up, color = #9cff87)

plot(ta.sma(close, input_trendline_legnth), color = color.white, linewidth = 2)
plotcandle(open, high, low, close, title='Candles', color = (close > ta.sma(close, input_trendline_legnth) ? #9cff87 : #f9396a), wickcolor=(close > ta.sma(close, input_trendline_legnth) ? #9cff87 : #f9396a), force_overlay = true)