
Esta estratégia utiliza um método baseado no julgamento da forma de K-linha para realizar arbitragem de alto freqüência. Sua principal idéia é julgar o formato de multi-espaço em diferentes períodos de tempo de K-linha, para realizar negociações de abertura de mercado de alto freqüência.
A lógica central desta estratégia consiste em julgar a forma de K de diferentes períodos de tempo. Concretamente, ela monitora simultaneamente as linhas de K de 1, 5 e 15 minutos. A estratégia julga a forma de K atual, rastreando se a linha de K subia ou descia antes do preço. Se for uma subida contínua, considere-se uma forma de cabeça de arco; se for uma queda contínua, considere-se uma forma de cabeça de arco.
O código é usado principalmente para rastrearupsednsDois indicadores para julgar a forma polarizada de uma linha K. Estes dois indicadores respectivamente, estatisticam o número de linhas K em ascensão contínua e em queda contínua. A estratégia permite definir os parâmetrosconsecutiveBarsUpeconsecutiveBarsDownNúmero de linhas K para determinar a tendência.upsMaior do que igual aconsecutiveBarsUpQuando a imagem é capturada, ela é vista como uma forma de cabeça múltipla; quandodnsMaior do que igual aconsecutiveBarsDownAlém disso, a estratégia também define um período de tempo para a retrospectiva, bem como informações sobre a delegação da transação.
A estratégia tem as seguintes vantagens:
A estratégia também apresenta alguns riscos:
Para reduzir o risco, pode-se fazer otimizar as seguintes coisas:
A estratégia pode ser melhorada nas seguintes direções:
Esta estratégia permite uma estratégia de arbitragem de alta frequência simples e eficaz, com base no método de julgamento da forma K. O núcleo da estratégia consiste em capturar tendências multipolares de preços em diferentes períodos de tempo e, em seguida, obter oportunidades de arbitragem. Apesar de haver alguns riscos, a estratégia é simples e perfeitamente adequada para o início de negociações quantitativas.
/*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)