Estrategias de compra y venta basadas en precios de cierre de la línea K


Fecha de creación: 2024-01-08 11:11:18 Última modificación: 2024-01-08 11:11:18
Copiar: 2 Número de Visitas: 1039
1
Seguir
1617
Seguidores

Estrategias de compra y venta basadas en precios de cierre de la línea K

Descripción general

La estrategia utiliza la comparación de la línea K actual con el precio de cierre de la línea K anterior para determinar si se debe emitir una señal de compra o venta.

En concreto, si el precio de cierre de la línea K actual es superior al precio máximo de la línea K anterior, se activa una señal de compra; si el precio de cierre de la línea K actual es inferior al precio mínimo de la línea K anterior, se activa una señal de venta.

Principio de estrategia

  1. Obtener precios máximos y mínimos históricos de un período de tiempo determinado (como el día, la hora, etc.)
  2. Cálculo de la distancia de parada y la distancia de parada
    • La distancia de parada = el precio más alto de la línea K anterior - el precio más bajo de la línea K anterior
    • Distancia de frenado = Distancia de frenado * 3 (con una relación de frenado de frenado de 1:3)
  3. Determinar la relación entre el precio de cierre de la línea K actual y el precio máximo y mínimo de la línea K anterior
    • Si el precio de cierre actual es > el precio máximo de la línea K, se activa una señal de compra
    • Si el precio de cierre actual es < el precio mínimo de la línea K anterior, se activa una señal de venta
  4. Establecimiento de stop loss y stop stop después de la entrada
    • Una vez comprado, el stop loss se establece como el precio mínimo de la línea K anterior - la distancia de stop loss, el stop loss como el precio máximo de la línea K anterior + la distancia de stop loss
    • Después de la venta, el stop loss se establece como el precio más alto de la línea K anterior + la distancia de parada, el stop loss como el precio más bajo de la línea K anterior - la distancia de parada

Esto es lo que se llama la lógica básica de la estrategia.

Análisis de las ventajas

  • La estrategia es clara, sencilla y fácil de entender.
  • La información de la línea K para determinar la dirección de la tendencia
  • Control de riesgos con mecanismo de detención de daños

Análisis de riesgos

  • El juicio de la forma de la línea K de un solo período de tiempo puede generar más falsas señales
  • Sin tener en cuenta otros factores, como cambios en el volumen de transacciones, la volatilidad, etc.
  • El control de pérdidas puede estar mal configurado, y hay riesgos de que sea demasiado grande o demasiado pequeño.

Dirección de optimización

  • La combinación de más factores confirma la entrada de señales, como el volumen de operaciones, el promedio, etc.
  • Optimización de los algoritmos de stop loss para que el stop loss sea más razonable y el stop loss más completo
  • La configuración de los parámetros de las diferentes variedades puede necesitar ajustes
  • Se puede probar el efecto de un ciclo de línea más largo

Resumir

La idea general de la estrategia es simple y clara, utiliza la información del precio de cierre de la línea K para determinar la dirección de la tendencia, y al mismo tiempo establece el riesgo de control de stop loss. Puede ser una estrategia básica para el comercio de acciones y monedas digitales. Sin embargo, la forma de la línea K solo se basa en un solo período de tiempo.

Código Fuente de la Estrategia
/*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")