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.
Calcular la diferencia porcentual entre el precio de cierre de la barra actual y el precio de cierre de la barra anterior.
Si el porcentaje es mayor que el umbral, indica que el precio está subiendo, vaya largo.
Si el porcentaje es menor que el umbral negativo, indica que el precio está bajando, vaya corto.
El umbral está establecido en 0, lo que significa ir largo en cualquier aumento y corto en cualquier caída.
No hay lógica de stop loss o take profit, dependiendo únicamente de la persistencia de la tendencia para la rentabilidad.
Método de determinación de tendencias muy simple e intuitivo, fácil de entender e implementar.
No es necesario calcular ningún indicador técnico, lo que reduce el consumo de recursos.
Se centra únicamente en la información básica de precios, evitando el ruido innecesario de los indicadores.
Excelentes resultados de las pruebas de retroceso pero el rendimiento en vivo es cuestionable.
Sin stop loss se exponen riesgos de pérdida ilimitados.
Ineficaz en mercados agitados, propenso a quedar atrapado.
Existen riesgos de sobreajuste, el rendimiento en vivo aún no se ha validado.
El seguimiento de la tendencia pura no puede bloquear las ganancias, las ganancias realizadas son limitadas.
Añadir un stop loss para el control de riesgos.
Incorporar medidas de volatilidad para reducir los problemas en los mercados inestables.
Prueba diferentes parámetros de período para aumentar la robustez.
Añadir indicadores de determinación de tendencia para evitar movimientos de precios irracionales.
Optimizar las ganancias tomando como vistazo el precio más alto para expandir el potencial de ganancias.
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)