Estrategia de negociación a corto plazo basada en la diferencia de precio de cierre

El autor:¿ Qué pasa?, Fecha: 23 de febrero de 2023
Las etiquetas:

Resumen general

Esta estrategia juzga el movimiento futuro del precio analizando la diferencia entre los precios de cierre de dos días consecutivos, con el objetivo de implementar operaciones a corto plazo.

Estrategia lógica

La lógica central de esta estrategia consiste en comparar el precio de cierre de hoy con el precio de cierre de ayer.

  1. Calcule la diferencia entre el precio de cierre de hoy y el precio de cierre de ayer.
  2. Si la diferencia es mayor que el umbral establecido, entonces el precio de hoy ha aumentado en relación con el de ayer, vaya largo.
  3. Si la diferencia es menor que el umbral negativo establecido, entonces el precio de hoy ha caído en relación con el de ayer, vaya corto.
  4. De lo contrario, mantenga la posición de ayer.

La clave aquí es establecer un umbral razonable. Si el umbral es demasiado grande, se perderá las fluctuaciones de precios más pequeñas. Si el umbral es demasiado pequeño, desencadenará una negociación irracional excesiva debido a las fluctuaciones normales. La estrategia adopta un diseño de umbral ajustable con un valor predeterminado de 0.004 y un paso de 0.001.

En resumen, esta estrategia captura los cambios de precios entre dos días de negociación consecutivos, juzga las posibles tendencias futuras de precios filtrando las fluctuaciones normales a través de umbrales, y por lo tanto realiza operaciones a corto plazo.

Ventajas de la estrategia

  • Una idea sencilla e intuitiva, fácil de entender e implementar
  • No hay indicadores técnicos complejos, bajo umbral de experiencia
  • Utilizar el precio de cierre, filtrar eficazmente el ruido, aumentar la estabilidad de la señal
  • El diseño del umbral ajustable permite encontrar el parámetro óptimo
  • Adecuado para el comercio a corto plazo, captura rápidamente los cambios de precios
  • Puede funcionar en diversos entornos de mercado

Riesgos de la estrategia

  • Probabilidad de diferencia de precios en el precio de cierre, puede perder cambios de precios
  • Se basa en un solo indicador, puede perderse otra información importante
  • El establecimiento incorrecto de umbrales generará excesivas señales falsas de negociación
  • Operaciones a corto plazo frecuentes, los costes de transacción pueden ser más elevados
  • Necesidad de un estrecho seguimiento y ajuste oportuno de los parámetros

Para hacer frente a estos riesgos, considere:

  1. Combinar otros indicadores, como el volumen de operaciones, para mejorar la precisión de la señal
  2. Añadir la lógica de pérdida de parada para controlar la pérdida única
  3. Optimizar los parámetros para mejorar la calidad de la señal
  4. Extender adecuadamente el ciclo de negociación para reducir la frecuencia de operación
  5. Aumentar la gestión de posiciones para mejorar la rentabilidad

Direcciones de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Pruebas de retroceso de marcos de tiempo múltiples- Utilice diferentes plazos (diarios, de 4 horas, de 1 hora, etc.) para realizar pruebas de retrospectiva de los parámetros y seleccionar el plazo y los parámetros óptimos.

  2. Indicadores de volatilidad combinados- Añadir indicadores que tengan en cuenta la volatilidad de los precios, como el ATR, para establecer mejor los umbrales dinámicos.

  3. Añadir la lógica de stop loss- Establezca puntos razonables de stop loss para controlar pérdidas individuales.

  4. Optimización de la gestión de la posición- Optimizar el tamaño de las posiciones iniciales y las reglas adicionales para aumentar la rentabilidad y garantizar el stop loss.

  5. Considere los costos de negociación- Añadir los costos de negociación como comisiones y deslizamiento en backtesting para estar más cerca de la negociación en vivo.

  6. Introducir el aprendizaje automático- Aplicar algoritmos de aprendizaje automático para extraer más características y construir señales comerciales más fuertes.

Conclusión

Esta estrategia juzga las tendencias futuras de precios basadas en las diferencias de precios de cierre, utilizando un enfoque simple e intuitivo para diseñar estrategias comerciales a corto plazo. La estrategia es fácil de implementar y adecuada para operaciones a corto plazo, pero puede tener algunos riesgos de pérdida. Varios métodos de optimización pueden mejorar la estabilidad y la rentabilidad de la estrategia.


/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Daily Close Comparison Strategy (by ChartArt) repainting results", shorttitle="CA_-_Daily_Close_Strat", overlay=false)

// ChartArt's Daily Close Comparison Strategy
//
// Version 1.0
// Idea by ChartArt on February 28, 2016.
//
// This strategy is equal to the very
// popular "ANN Strategy" coded by sirolf2009,
// but without the Artificial Neural Network (ANN).
//
// Main difference besides stripping out the ANN
// is that I use close prices instead of OHLC4 prices.
// And the default threshold is set to 0 instead of 0.0014
// with a step of 0.001 instead of 0.0001.
//
// This strategy goes long if the close of the current day
// is larger than the close price of the last day.
// If the inverse logic is true, the strategy
// goes short (last close larger current close).
//
// This simple strategy does not have any
// stop loss or take profit money management logic.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/
// 
//  __             __  ___       __  ___ 
// /  ` |__|  /\  |__)  |   /\  |__)  |  
// \__, |  | /~~\ |  \  |  /~~\ |  \  |  
// 
// 

threshold = input(title="Price Difference Threshold repainting results", type=float, defval=0.004, step=0.001)

getDiff() =>
    yesterday=security(syminfo.tickerid, 'D', close[1])
    today=security(syminfo.tickerid, 'D', close)
    delta=today-yesterday
    percentage=delta/yesterday
    
closeDiff = getDiff()
 
buying = closeDiff > threshold ? true : closeDiff < -threshold ? false : buying[1]

hline(0, title="zero line")

bgcolor(buying ? green : red, transp=25)
plot(closeDiff, color=silver, style=area, transp=75)
plot(closeDiff, color=aqua, title="prediction")

longCondition = buying
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = buying != true
if (shortCondition)
    strategy.entry("Short", strategy.short)

Más.