
La estrategia de doble equilátero es una estrategia de análisis técnico muy clásica y comúnmente utilizada. La estrategia utiliza el cruce de las medias móviles rápidas y las medias móviles lentas como una señal de compra y venta.
El código de la estrategia incluye principalmente las siguientes partes:
Define la longitud y el tipo de promedio rápido y lento: promedio rápido de 5 ciclos y promedio lento de 21 ciclos, ambos con promedio móvil simple.
Calculación de líneas rápidas y lentas: calcula una media móvil simple de 5 y 21 ciclos a través de la función sma.
Dibujo: Dibujo de trayectorias de líneas rápidas y lentas.
Definición de las condiciones de compra y venta: compra en línea rápida y venta en línea lenta.
Ejecución de operaciones: Las funciones long y short de la estrategia ejecutan automáticamente las operaciones de compra y venta cuando se cumplen las condiciones.
La clave de esta estrategia es utilizar una combinación de líneas medias de diferentes períodos de longitud para formar líneas medias rápidas y lentas, y su cruce como señal de negociación. La línea rápida puede capturar los cambios en los precios más rápidamente, y la línea lenta puede reflejar mejor la tendencia a largo plazo.
La estrategia de doble línea recta tiene las siguientes ventajas:
El principio es simple, fácil de aprender y adecuado para los principiantes.
Operación de fluctuación, sigue la tendencia de los precios, retracciones menores.
La frecuencia de las transacciones es moderada, no demasiado frecuente.
Parámetros personalizables y flexibilidad para responder a los cambios en el mercado.
Es fácil encontrar la combinación de parámetros adecuada a través de la optimización.
Se puede establecer un punto de parada para controlar el riesgo.
Se puede usar en muchos mercados, y es muy versátil.
Se puede utilizar en combinación con otros indicadores para mejorar la eficacia.
La estrategia de doble equilátero también tiene algunos riesgos:
Cuando la tendencia del mercado es fuerte, la línea media sigue la tendencia con retraso, y puede ser tardía, perdiendo el mejor momento de entrada. Se puede acortar adecuadamente el ciclo de la línea media y aumentar la sensibilidad.
En situaciones convulsivas, puede haber más señales falsas. Se pueden agregar las condiciones de filtración adecuadas para evitar transacciones erróneas.
El número de transacciones puede ser mayor, lo que afecta a la rentabilidad. Se puede relajar adecuadamente el intervalo de la línea media, reduciendo el cruce.
No se puede determinar el tipo de tendencia, existe el riesgo de negociación en contra. Se puede auxiliar en la determinación de indicadores de tendencia.
La optimización de los parámetros requiere cierto apoyo de datos históricos, y las nuevas variedades pueden tener una sobreadaptación. Se debe utilizar una combinación de varias pruebas de robustez de los parámetros.
El indicador individual es susceptible a la influencia del entorno externo y su rendimiento puede ser inestable. Se puede verificar en combinación con otros indicadores.
Las estrategias de bi-equilánea de cruce también pueden ser optimizadas en los siguientes aspectos:
Prueba la línea media rápida y lenta de diferentes longitudes para encontrar los parámetros óptimos para la variedad de transacción específica.
Aumentar las condiciones de filtración, como volumen de operaciones, ATR de stop loss, etc., para reducir las oportunidades de desventaja.
Combinación de indicadores de dinámica para confirmar las señales de compra y venta y evitar falsas brechas.
Optimización de la estrategia de detención de pérdidas para evitar que parte de la detención de pérdidas se retire demasiado pronto o demasiado tarde.
La combinación de indicadores de tendencias y ondas permite el seguimiento de tendencias y el comercio de contratiempos.
Utiliza una línea media adaptativa, que ajusta los parámetros de la línea media según el mercado, en lugar de un ciclo fijo.
Se utilizan combinaciones de varios períodos de tiempo, con diferentes combinaciones de parámetros según las características del tiempo del mercado.
Optimización en tiempo real, uso de tecnologías como el aprendizaje automático para optimizar continuamente los parámetros.
La estrategia de doble equilátero cruzado es una de las estrategias de negociación más centrales y comunes en el análisis técnico, por su sencillez en los principios, su facilidad de dominio e implementación. La estrategia se ajusta a la tendencia de los precios, la reversión es controlada y el riesgo es aceptable. Pero también tiene un gran espacio de optimización, y la aplicabilidad y eficacia de la estrategia se puede ampliar aún más mediante la optimización de los parámetros, combinada con otros indicadores y algoritmos de automatización.
/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// strategy("Stochastic Strategy of BiznesFilosof", shorttitle="SS of BiznesFilosof", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=20, commission_type=strategy.commission.percent, commission_value=0.15, pyramiding=0)
//Period
startY = input(title="Start Year", defval = 2011)
startM = input(title="Start Month", defval = 1, minval = 1, maxval = 12)
startD = input(title="Start Day", defval = 1, minval = 1, maxval = 31)
finishY = input(title="Finish Year", defval = 2050)
finishM = input(title="Finish Month", defval = 12, minval = 1, maxval = 12)
finishD = input(title="Finish Day", defval = 31, minval = 1, maxval = 31)
//finish = input(2019, 02, 28, 00, 00)
timestart = timestamp(startY, startM, startD, 00, 00)
timefinish = timestamp(finishY, finishM, finishD, 23, 59)
window = true // Lenghth strategy
length1 = input(21, minval=1), smoothK1 = input(3, minval=1), smoothD1 = input(3, minval=1)
//length2 = input(5, minval=1), smoothK2 = input(1, minval=1), smoothD2 = input(1, minval=1)
inh0 = input(title="Bottom Line", defval = 14, minval=0), inh1 = input(title="Upper Line", defval = 86, minval=0)
k1 = sma(stoch(close, high, low, length1), smoothK1)
d1 = sma(k1, smoothD1)
plot(k1, color=blue)
plot(d1, color=red)
//k2 = sma(stoch(close, high, low, length2), smoothK2)
//d2 = sma(k2, smoothD2)
//plot(k2, color=orange)
h1 = hline(inh1)
h0 = hline(inh0)
fill(h0, h1, color = aqua, transp=90)
//open
strategy.entry("LongEntryID", strategy.long, comment="LONG", when = crossover(k1, d1) and crossover(k1, inh0) and window)
strategy.entry("ShortEntryID", strategy.short, comment="SHORT", when = crossunder(k1, d1) and crossunder(k1, inh1) and window)
if crossunder(k1, d1) and crossunder(k1, inh1) and strategy.position_size > 0
strategy.close_all()
if crossover(k1, d1) and crossover(k1, inh0) and strategy.position_size < 0
strategy.close_all()