A estratégia de reversão é uma estratégia de negociação quantitativa baseada em uma sequência de queda e queda de preços. A estratégia capta oportunidades de reversão de tendências de curto prazo, identificando uma sequência de baixas de X, seguidas de subidas de Y. A principal idéia da estratégia é que, quando o preço passa por uma sequência de quedas, indica que a energia de cabeça vazia foi liberada, e, em seguida, se ocorrer uma queda de cabeça vazia, significa que as forças de cabeça múltipla começam a se acumular e o preço pode iniciar uma onda de retorno.
O princípio da estratégia de inversão contínua do declínio e do crescimento pode ser dividido nos seguintes passos:
A estratégia utiliza a forma de queda e queda contínua, tentando capturar a oportunidade de reversão de uma mudança de cabeça-vazia para cabeça-multiplo. Ao mesmo tempo, são criadas condições de parada rigorosas para controlar o risco.
A estratégia de inversão contínua de baixa-baixa-vermelha tem as seguintes vantagens:
Apesar de haver algumas vantagens em uma estratégia de inversão contínua, existem os seguintes riscos:
Para combater esses riscos, as seguintes medidas de otimização podem ser consideradas:
A estratégia de inversão de tendência de queda e queda contínua pode ser melhorada em várias direções:
Através destas melhorias, a estratégia de inversão de tendência de baixa e baixa pode ser melhor adaptada às mudanças do mercado, controlar o risco e aumentar a rentabilidade e a estabilidade.
A estratégia de inversão de tendência de queda e queda contínua é uma estratégia de negociação quantitativa baseada na continuidade de preços, que captura oportunidades de reversão de curto prazo no mercado, identificando tendências de queda e queda contínua. As regras da estratégia são simples e claras, são sensíveis às mudanças na tendência de preços e possuem condições de parada rígidas para controlar o risco.
No entanto, a estratégia também apresenta alguns riscos, como a frequência de negociação, a configuração de posições de stop loss pode ser muito rígida e o desempenho pode ser fraco em mercados de forte tendência. Para lidar com esses riscos, pode-se considerar parâmetros de ajuste dinâmico, otimização de posições de stop loss e diferentes estratégias em diferentes ambientes de mercado.
Além disso, a estratégia também tem algumas direções de otimização, como a introdução de mais indicadores, otimizar o stop loss e o stop loss, adaptar-se a diferentes condições de mercado, incorporar a gestão de posições e combiná-las com outras estratégias. Com a otimização e melhoria contínua, a estratégia de inversão contínua de baixa e baixa pode se tornar uma estratégia de negociação quantitativa mais robusta e eficaz.
Em geral, a estratégia de inversão contínua de verão-verão oferece uma idéia de negociação simples e eficaz para obter lucros ao capturar oportunidades de inversão de curto prazo no mercado. Mas, na prática, é necessário otimizar e ajustar a estratégia de acordo com o ambiente de mercado específico e as preferências de risco pessoais para obter melhores resultados de negociação.
/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bottom Out Strategy", overlay=true)
consecutiveBarsUp = input(2)
consecutiveBarsDown = input(3)
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
var entry_bar_index = 1000000
var active = false
var stop_loss = 0.0
// === INPUT BACKTEST RANGE ===
i_from = input(defval = timestamp("01 Jan 2023 00:00 +0000"), title = "From")
i_thru = input(defval = timestamp("01 Mar 2024 00:00 +0000"), title = "Thru")
// === FUNCTION EXAMPLE ===
date() => true
entry_condition() =>
date() and dns[2] >= consecutiveBarsDown and ups >= consecutiveBarsUp and not active
exit_condition() =>
date() and active and (close < nz(stop_loss) or close < high - 2 * ta.atr(7))
if (entry_condition())
strategy.entry("ConsDnLong", strategy.long, comment="CDLEntry")
entry_bar_index := bar_index
active := true
stop_loss := math.min(close, close[1], close[2])
// log.info("Entry at bar {0}, close={1}, stop_loss={2} ", entry_bar_index, close, stop_loss)
if (exit_condition())
strategy.close("ConsDnLong", comment = "CDLClose")
// log.info("Close at bar {0}", bar_index)
entry_bar_index := 1000000
active := false
// if (dns >= consecutiveBarsDown)
// strategy.entry("ConsDnSE", strategy.short, comment="ConsDnSE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
plot(high - 2* ta.atr(7))