Estrategia diaria de comparación de precios de cierre

El autor:¿ Qué pasa?, Fecha: 2023-09-17 18:28:31
Las etiquetas:

Resumen general

Esta estrategia determina la dirección al comparar el precio de cierre de la barra actual con el precio de cierre de la barra anterior. Es una estrategia de seguimiento de tendencia simple, yendo largo cuando el precio aumenta y corto cuando el precio cae. No se necesitan indicadores complejos, solo se utiliza la información de precio más básica para determinar la dirección de la tendencia.

Estrategia lógica

  1. Calcular la diferencia porcentual entre el precio de cierre de la barra actual y el precio de cierre de la barra anterior.

  2. Si el porcentaje es mayor que el umbral, indica que el precio está subiendo, vaya largo.

  3. Si el porcentaje es menor que el umbral negativo, indica que el precio está bajando, vaya corto.

  4. El umbral está establecido en 0, lo que significa ir largo en cualquier aumento y corto en cualquier caída.

  5. No hay lógica de stop loss o take profit, dependiendo únicamente de la persistencia de la tendencia para la rentabilidad.

Análisis de ventajas

  1. Método de determinación de tendencias muy simple e intuitivo, fácil de entender e implementar.

  2. No es necesario calcular ningún indicador técnico, lo que reduce el consumo de recursos.

  3. Se centra únicamente en la información básica de precios, evitando el ruido innecesario de los indicadores.

  4. Excelentes resultados de las pruebas de retroceso pero el rendimiento en vivo es cuestionable.

Análisis de riesgos

  1. Sin stop loss se exponen riesgos de pérdida ilimitados.

  2. Ineficaz en mercados agitados, propenso a quedar atrapado.

  3. Existen riesgos de sobreajuste, el rendimiento en vivo aún no se ha validado.

  4. El seguimiento de la tendencia pura no puede bloquear las ganancias, las ganancias realizadas son limitadas.

Direcciones de optimización

  1. Añadir un stop loss para el control de riesgos.

  2. Incorporar medidas de volatilidad para reducir los problemas en los mercados inestables.

  3. Prueba diferentes parámetros de período para aumentar la robustez.

  4. Añadir indicadores de determinación de tendencia para evitar movimientos de precios irracionales.

  5. Optimizar las ganancias tomando como vistazo el precio más alto para expandir el potencial de ganancias.

Resumen de las actividades

La idea central de la estrategia es simple, pero su rendimiento en vivo es cuestionable. Se necesitan mecanismos más fuertes de control de riesgos y pruebas de optimización de parámetros antes de su aplicación real.


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

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