Estrategia de trading de múltiples marcos temporales basada en la amplitud promedio de la trayectoria
Resumen
El nombre de esta estrategia es "Estrategia de Trading Multi-Timeframe basada en la Amplitud Promedio de la Trayectoria". Su idea principal consiste en introducir una partícula que ajusta la trayectoria del precio, y construir señales de trading basándose en la amplitud promedio entre la partícula y el precio.
Principio de la Estrategia
La estrategia primero define una partícula que ajusta la trayectoria del precio. Esta partícula está influenciada por la gravedad y la inercia, y su trayectoria oscila alrededor del precio. Luego se calcula la distancia de desviación promedio entre la partícula y el precio, y se construyen bandas superior e inferior a partir de ella. Cuando el precio rompe la banda superior o inferior, se emite una señal de trading.
Específicamente, la fórmula de la posición de la partícula definida en la estrategia es:
pos:=if pos<close
nz(pos[1])+grav+traj
else
nz(pos[1])-(grav)+traj
Aquí grav representa el término de gravedad, que hace que la partícula se acerque al precio; traj representa el término de inercia, que mantiene la tendencia del movimiento de la partícula. La combinación de estos dos términos hace que la partícula oscile alrededor del precio.
Luego se calcula la distancia de desviación promedio avgdist entre el precio y la partícula, y se construyen las bandas superior e inferior:
bbl=pos-sma(avgdist,varb)
bbh=pos+sma(avgdist,varb)
Finalmente, cuando el precio es mayor que la banda superior, se va largo; cuando es menor que la banda inferior, se va corto.
Ventajas de la Estrategia
En comparación con las estrategias tradicionales de media móvil, esta estrategia ofrece las siguientes ventajas:
- Utiliza la trayectoria de la partícula para simular mejor las fluctuaciones del precio.
- Las bandas superior e inferior pueden ajustarse adaptativamente basándose en la amplitud promedio histórica, lo que ayuda a capturar rupturas.
- Diseño multi-timeframe que permite alternar entre marcos temporales altos y bajos para capturar más oportunidades de trading.
Riesgos de la Estrategia
Esta estrategia también conlleva algunos riesgos:
- Una configuración inadecuada de los parámetros del movimiento de la partícula puede generar señales falsas o pérdida de señales.
- Al cambiar entre múltiples marcos temporales, pueden ocurrir conflictos de señales.
- Las señales de ruptura de bandas superior e inferior pueden aumentar el riesgo de stop-loss.
Las medidas de gestión de riesgos correspondientes incluyen: optimizar parámetros para reducir señales falsas, definir reglas claras de sincronización de marcos temporales, establecer niveles de stop-loss adecuados, etc.
Direcciones de Optimización de la Estrategia
Esta estrategia puede optimizarse en los siguientes aspectos:
- Optimizar los parámetros relacionados con el movimiento de la partícula para ajustar la trayectoria del precio.
- Aumentar el número de capas de marcos temporales para confirmar señales en marcos temporales más altos.
- Incorporar indicadores de volatilidad para evitar generar señales durante movimientos bruscos del mercado.
- Optimizar la estrategia de stop-loss para reducir la pérdida por operación.
Conclusión
Esta estrategia mejora la estrategia de media móvil mediante la introducción del ajuste de la trayectoria del precio, presentando características como adaptación de parámetros, multi-timeframe y optimización de stop-loss. Su clave reside en encontrar la ecuación de movimiento de partícula adecuada para simular el precio. Aunque aún requiere más pruebas y optimización, su idea básica es viable y merece ser estudiada más a fondo.
/*backtest
start: 2022-11-17 00:00:00
end: 2023-11-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//2 revert
strategy("Jomy's Gyroscopic Bands",precision=8,commission_value=.03,overlay=true,initial_capital =10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0)//,calc_on_order_fills= true, calc_on_every_tick=false)
leverage=input(1,"leverage")- 1

