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.
La lógica central de esta estrategia consiste en comparar el precio de cierre de hoy con el precio de cierre 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.
Para hacer frente a estos riesgos, considere:
La estrategia se puede optimizar en los siguientes aspectos:
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.
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.
Añadir la lógica de stop loss- Establezca puntos razonables de stop loss para controlar pérdidas individuales.
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.
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.
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.
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)