- Cuadrado
- Estrategia de compra de ruptura de precio y volumen
Estrategia de compra de ruptura de precio y volumen
El autor:
¿ Qué pasa?, fecha: 2024-05-17 14:54:13
Las etiquetas:
La SMA
Resumen general
La Estrategia de compra de ruptura de precio y volumen es una estrategia de negociación diseñada para identificar oportunidades de compra mediante la detección de rupturas concurrentes de precio y volumen en un rango especificado de velas. La estrategia toma primero el número específico de velas como la ventana de examen tanto para el precio como para el volumen. Estos valores se utilizan como puntos de referencia para identificar las condiciones de ruptura. Se inicia una operación cuando tanto el precio de cierre como el volumen de negociación superan los valores máximos observados dentro de la ventana predeterminada. El precio debe estar por encima de un promedio móvil designado, sirviendo como indicador de tendencia, asegurando que todas las operaciones se alineen con la tendencia prevaleciente del mercado.
Principio de la estrategia
- Establezca el período de ruptura de precios y el período de ruptura de volumen como ventana de examen.
- Obtener el precio más alto y el precio más bajo dentro del período de ruptura de precios.
- Obtener el mayor volumen de operaciones dentro del período de ruptura de volumen.
- Si el precio de cierre es superior al precio más alto del período anterior, el volumen de negociación es superior al volumen de negociación más alto del período anterior, el precio de cierre es superior a la media móvil simple (SMA) de la longitud de la línea de tendencia, y actualmente no hay operaciones abiertas, y la dirección de la orden no está configurada para ser corta, entonces comience a ser larga.
- Si el precio de cierre es inferior a la SMA de la longitud de la línea de tendencia durante 5 días consecutivos, cierre todas las posiciones largas.
- Si el precio de cierre es inferior al precio más bajo del período anterior, el volumen de negociación es superior al volumen de negociación más alto del período anterior, el precio de cierre es inferior a la SMA de la longitud de la línea de tendencia y actualmente no hay operaciones abiertas, y la dirección de la orden no está establecida en largo, entonces comience a ser corto.
- Si el precio de cierre es superior a la SMA de la longitud de la línea de tendencia durante 5 días consecutivos, cierre todas las posiciones cortas.
Ventajas estratégicas
- El uso tanto de las rupturas de precio como de volumen como señales de compra y venta puede confirmar mejor los cambios de tendencia.
- El control de si el precio está por encima o por debajo de la SMA a largo plazo antes de abrir una posición garantiza que las operaciones estén en línea con la tendencia principal del mercado.
- Si el precio de cierre cruza la SMA durante varios días consecutivos como señal de cierre, se puede capturar efectivamente el final de la tendencia.
- Adecuado para activos altamente volátiles como Bitcoin y Ethereum, puede aprovechar los cambios repentinos en los precios de mercado y los volúmenes de negociación para obtener ganancias.
Riesgos estratégicos
- En los mercados con baja volatilidad o sin tendencias obvias, esta estrategia puede conducir a operaciones frecuentes, aumentando así los costes de transacción.
- Para los mercados con menor volatilidad, como el índice S&P 500, el efecto de esta estrategia puede no ser tan significativo como en el mercado de criptomonedas.
- Esta estrategia puede generar menos señales comerciales en plazos más largos, ya que la mayoría de las operaciones tienden a tener un período de retención más largo.
Dirección de optimización de la estrategia
- Ajustar la duración del período de ruptura del precio y del período de ruptura del volumen de acuerdo con las diferentes características del mercado para adaptarse a las características de volatilidad de los diferentes activos.
- Trate de utilizar otros indicadores de confirmación de tendencia, como las medias móviles exponenciales, el MACD, etc., para mejorar la precisión del juicio de tendencia.
- Incorporar medidas de gestión del riesgo en la estrategia, como establecer niveles de stop-loss y ajustar dinámicamente las posiciones para reducir la exposición al riesgo de una sola operación.
- Para operaciones con períodos de retención más largos, considere agregar una estrategia de parada de seguimiento para proteger mejor las ganancias ya obtenidas.
Resumen de las actividades
La Estrategia de compra de ruptura de precio y volumen es una estrategia de seguimiento de tendencias adecuada para mercados altamente volátiles. Al considerar tanto las rupturas de precio como de volumen, y combinar la SMA a largo plazo como un filtro de tendencia, esta estrategia puede capturar mejor las oportunidades de negociación en mercados fuertes. Sin embargo, esta estrategia puede funcionar mal en mercados sin tendencias obvias o baja volatilidad y puede enfrentar el riesgo de negociación frecuente. Por lo tanto, en las aplicaciones prácticas, es necesario optimizar y ajustar adecuadamente la estrategia de acuerdo con diferentes características del mercado y estilos de negociación personales para mejorar su estabilidad y rentabilidad.
/*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)
Relacionados
Más.