Estrategia de trading cuantitativo basada en la comparación de precios de cierre diarios


Fecha de creación: 2023-11-21 14:34:11 Última modificación: 2023-11-21 14:34:11
Copiar: 0 Número de Visitas: 782
1
Seguir
1617
Seguidores

Estrategia de trading cuantitativo basada en la comparación de precios de cierre diarios

Descripción general

Esta estrategia se conoce como estrategia de comparación de precios de cierre de la línea de cierre de la mañana. Es una estrategia cuantitativa para tomar decisiones comerciales basadas en el precio de cierre de la línea de cierre de la mañana.

Principio de estrategia

La lógica central de esta estrategia es comparar el precio de cierre de la línea K actual con el precio de cierre de la línea K anterior. Específicamente:

  1. Calcula la diferencia entre el precio de cierre de la línea diaria actual y el precio de cierre de la línea diaria anterior ((today - yesterday))
  2. Calcula la diferencia entre el precio de cierre del día anterior y el precio de cierre del día anterior.
  3. Si la proporción es mayor que el umbral positivo establecido, se genera una señal de compra; si la proporción es menor que el umbral negativo establecido, se genera una señal de venta
  4. De acuerdo con la entrada de la señal de hacer más o vacío de la bodega

La estrategia no establece condiciones de stop loss y stop-loss y depende de las señales de negociación generadas por las condiciones de depreciación para entrar en posiciones de paz.

Análisis de las ventajas

  • El pensamiento es simple y fácil de entender, adecuado para el aprendizaje inicial de la transacción cuantitativa
  • Evite el comercio demasiado frecuente basado solo en el precio de cierre de la línea del sol
  • Puede controlar la frecuencia de las transacciones ajustando el umbral

Análisis de riesgos

  • No hay paradas de pérdidas, no hay control de pérdidas individuales
  • Se pueden generar señales de transacciones continuas que conduzcan a una sobre-transacción
  • El retiro podría ser grande y no podría controlar las pérdidas generales.

Dirección de optimización

  • Aumentar la lógica de stop loss y controlar las pérdidas individuales
  • Aumentar el límite de apertura de posiciones para evitar el exceso de operaciones
  • Optimización de parámetros para encontrar la mejor frecuencia de negociación

Resumir

Esta estrategia se basa en la comparación de los precios de cierre de la línea de solvencia para formar señales de negociación. La idea es simple y adecuada para el aprendizaje inicial. Sin embargo, la estrategia tiene cierto riesgo y necesita una optimización adicional para el comercio en el mercado real.

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

//@version=2
strategy("Daily Close Comparison Strategy (by ChartArt) correct 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 correct results", type=float, defval=0, step=0.004)

getDiff() =>
    yesterday=request.security(syminfo.tickerid, 'D', close[1])
    today=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)