Esta estrategia utiliza un método de juicio basado en patrones de K-line para implementar el arbitraje de alta frecuencia en el mercado. Su idea principal es abrir y cerrar operaciones para la creación de mercados de alta frecuencia al juzgar patrones alcistas / bajistas en diferentes marcos de tiempo de K-line.
La lógica central de esta estrategia radica en juzgar los patrones alcista/bajista a través de diferentes marcos de tiempo de la línea K. Específicamente, rastrea simultáneamente las líneas K de 1 minuto, 5 minutos y 15 minutos. La estrategia determina el sentimiento actual comprobando si los precios han aumentado o caído en comparación con N líneas K anteriores. Si los precios aumentan consecutivamente, indica un sentimiento alcista; si los precios caen consecutivamente, señala una visión bajista. En las señales alcistas, la estrategia es larga; en las señales bajistas, la estrategia es corta. De esta manera, la estrategia podría capturar tendencia y oportunidades de reversión media en diferentes marcos de tiempo para el arbitraje de alta frecuencia.
La lógica central se implementa mediante el seguimiento de dos indicadoresups
ydns
, que registran el número de líneas K ascendentes y descendentes consecutivas.consecutiveBarsUp
yconsecutiveBarsDown
La tendencia de la tendencia de la tendencia de la tendencia de la tendenciaups
es mayor o igual aconsecutiveBarsUp
, indica un patrón alcista; cuandodns
excedeconsecutiveBarsDown
Además, la estrategia especifica el intervalo de tiempo de pruebas retroactivas y los mensajes de ejecución de órdenes, etc.
Las ventajas de esta estrategia incluyen:
También hay varios riesgos a tener en cuenta:
Las posibles formas de mitigar los riesgos incluyen:
Esta estrategia puede reforzarse a partir de las siguientes dimensiones:
Esta estrategia realiza una estrategia de arbitraje de alta frecuencia simple pero efectiva basada en el juicio del patrón de la línea K. Su núcleo radica en capturar tendencias alcistas / bajistas intradiarias en los marcos de tiempo para el arbitraje. A pesar de algunos riesgos inherentes, esta estrategia fácil de entender sirve como un buen punto de partida para el comercio algorítmico.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-21 23:59:59 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // Strategy strategy("Up/Down Strategy", initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash) consecutiveBarsUp = input(1) consecutiveBarsDown = input(1) price = close ups = 0.0 ups := price > price[1] ? nz(ups[1]) + 1 : 0 dns = 0.0 dns := price < price[1] ? nz(dns[1]) + 1 : 0 // Strategy Backesting startDate = input(timestamp("2021-01-01T00:00:00"), type = input.time) finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time) time_cond = true // Messages for buy and sell message_buy = input("{{strategy.order.alert_message}}", title="Buy message") message_sell = input("{{strategy.order.alert_message}}", title="Sell message") // Strategy Execution if (ups >= consecutiveBarsUp) and time_cond strategy.entry("Long", strategy.long, stop = high + syminfo.mintick, alert_message = message_buy) if (dns >= consecutiveBarsDown) and time_cond strategy.entry("Short", strategy.short, stop = low + syminfo.mintick, alert_message = message_sell) //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)