Estrategia de compra/venta en el cierre de la vela

El autor:¿ Qué pasa?, Fecha: 2024-01-08 11:11:18
Las etiquetas:

img

Resumen general

Esta estrategia desencadena señales de compra/venta comparando los precios de cierre de la vela actual y la anterior.

Específicamente, si la vela actual se cierra por encima del precio más alto de la vela anterior, se activa una señal de compra.

Estrategia lógica

  1. Obtener los precios históricos más altos y más bajos del período de tiempo especificado (por ejemplo, diario, por hora)
  2. Calcular las distancias de stop loss y take profit
    • Distancia de parada de pérdida = Candela anterior más alta - Candela anterior más baja
    • Se trata de la suma de las exposiciones de las que se trata en el artículo 247, apartado 1, del RRC.
  3. Determinar la relación entre el cierre actual y el máximo/mínimo anterior
    • Si el cierre actual > el más alto de la vela anterior, activa la señal de compra
    • Si el cierre actual < el más bajo de la vela anterior, activa la señal de venta
  4. Establecer el stop loss y el take profit después de la entrada
    • Después de comprar, establecer el stop loss en la candela anterior más baja - distancia de stop loss, obtener ganancias en la candela anterior más alta + obtener ganancias distancia
    • Después de la venta, establecer el stop loss en el candelero anterior más alto + distancia de stop loss, tomar el beneficio en el candelero anterior más bajo - tomar el beneficio distancia

Lo anterior es la lógica básica de negociación de esta estrategia.

Análisis de ventajas

  • Ideas estratégicas simples y claras, fáciles de entender y aplicar
  • Utilice la información del candelero para determinar la dirección de la tendencia
  • Tener un mecanismo de stop loss y take profit para controlar el riesgo

Análisis de riesgos

  • El juicio basado únicamente en un marco de tiempo puede generar más señales falsas
  • No tiene en cuenta más factores como el cambio de volumen, la volatilidad, etc.
  • Las configuraciones de stop loss y take profit podrían ser inapropiadas, demasiado amplias o demasiado ajustadas son ambas riesgosas

Direcciones de optimización

  • Combine más factores para confirmar la señal de entrada, como volumen, promedio móvil, etc.
  • Optimizar los algoritmos de stop loss y take profit para tener un stop loss más razonable y un take profit suficiente
  • Puede ser necesario ajustar los parámetros para diferentes productos
  • Se pueden probar plazos más largos

Resumen de las actividades

La idea de la estrategia es simple y clara en general, utilizando el precio de cierre de la vela para determinar la dirección de la tendencia y también tiene stop loss / take profit para controlar el riesgo, puede servir como una estrategia básica para las acciones y el comercio de criptomonedas.


/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy/Sell on Candle Close", overlay=true)

var float prevLowest = na
var float prevHighest = na
var float slDistance = na
var float tpDistance = na

// Specify the desired timeframe here (e.g., "D" for daily, "H" for hourly, etc.)
timeframe = "D"

// Fetching historical data for the specified timeframe
pastLow = request.security(syminfo.tickerid, timeframe, low, lookahead=barmerge.lookahead_on)
pastHigh = request.security(syminfo.tickerid, timeframe, high, lookahead=barmerge.lookahead_on)

if bar_index > 0
    prevLowest := pastLow[1]
    prevHighest := pastHigh[1]

currentClose = close

if not na(prevLowest) and not na(prevHighest)
    slDistance := prevHighest - prevLowest
    tpDistance := 3 * slDistance // Adjusted for 1:3 risk-reward ratio

// Buy trigger when current close is higher than previous highest
if not na(prevLowest) and not na(prevHighest) and currentClose > prevHighest
    strategy.entry("Buy", strategy.long)
    strategy.exit("Buy TP/SL", "Buy", stop=prevLowest - slDistance, limit=prevHighest + tpDistance)

// Sell trigger when current close is lower than previous lowest
if not na(prevLowest) and not na(prevHighest) and currentClose < prevLowest
    strategy.entry("Sell", strategy.short)
    strategy.exit("Sell TP/SL", "Sell", stop=prevHighest + slDistance, limit=prevLowest - tpDistance)

plot(prevLowest, color=color.blue, title="Previous Lowest")
plot(prevHighest, color=color.red, title="Previous Highest")







Más.