
La estrategia utiliza un método basado en la determinación de la forma de la línea K para lograr un arbitraje de mercadotecnia de alta frecuencia. Su principal idea es determinar la forma de mercadotecnia de alta frecuencia en diferentes períodos de tiempo de la línea K. La estrategia monitoriza simultáneamente varias líneas de tiempo de la línea K.
La lógica central de esta estrategia consiste en juzgar la forma plural de la línea K en diferentes períodos de tiempo. En concreto, se monitorea simultáneamente las líneas K de 1 minuto, 5 minutos y 15 minutos. La estrategia juzga la forma plural actual al seguir si la línea K ha subido o bajado antes de que el precio se compare. Si es una subida continua, se considera que es una forma plural; si es una caída continua, se considera que es una forma sin cabeza.
El código se encuentra principalmente en el rastreoupsydnsDos indicadores para juzgar la forma de K-linea. Estos dos indicadores estadísticos son el número de K-linesas que suben y bajan consecutivamente. La estrategia permite establecer los parámetrosconsecutiveBarsUpyconsecutiveBarsDownEl número de líneas K para determinar la tendencia.upsMás grande es igual aconsecutiveBarsUpCuando se trata de la captura de una forma múltiple; cuando se trata de la capturadnsMás grande es igual aconsecutiveBarsDownAdemás, la estrategia también establece un rango de tiempo para la retroalimentación, así como la información encargada de la transacción.
La estrategia tiene las siguientes ventajas:
La estrategia también tiene sus riesgos:
Para reducir el riesgo, se puede optimizar en los siguientes aspectos:
Esta estrategia puede ser optimizada en las siguientes direcciones:
Esta estrategia permite una estrategia de arbitraje de alta frecuencia simple y eficaz a través de un método basado en la forma de la línea K. El núcleo de la estrategia consiste en capturar tendencias de varios espacios en los precios de diferentes períodos de tiempo y, a continuación, obtener oportunidades de arbitraje. A pesar de los riesgos, la estrategia es simple y muy adecuada para el inicio de la negociación cuantitativa.
/*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)