
A estratégia de compra de caixas de bull market é uma versão modificada da estratégia de caixas de Darvas. A estratégia só faz mais negociações durante o período de bull market. A estratégia primeiro mapeia uma área de caixas de acordo com o preço mais alto e faz mais negociações no preço de fechamento quando o preço quebra o caixão.
A estratégia baseia-se na teoria da caixa de Darvas. A teoria da caixa de Darvas considera que é um bom momento para fazer mais quando o preço quebra a caixa ao longo da caixa depois de se organizar horizontalmente. A estratégia julga o momento de fazer mais entrada de acordo com a teoria.
Concretamente, a estratégia primeiro calcula o preço mínimo dos últimos 5 dias, traçando a trajetória do caixão. Em seguida, calcula o preço máximo dos últimos 5 dias, traçando a trajetória do caixão.
Depois de fazer mais, a estratégia configura um stop loss localizado perto da faixa inferior do caixão, além de definir um stop loss cinco vezes maior que o stop loss.
A estratégia tem as seguintes vantagens:
O uso da teoria do corpo de caixa para determinar o tempo de trabalho do cachorro pode filtrar eficazmente parte do ruído.
A única coisa a fazer é fazer mais no ponto de sinal claro de quebra, evitando muitas posições aleatórias desnecessárias.
A lógica de stop loss e stop-loss permite um bom controle de risco.
O mercado de ações está em alta, mas os investidores estão em alta, e os investidores estão em alta, mas os investidores estão em alta.
A estratégia também apresenta alguns riscos:
A teoria do casco não é perfeita, e o aumento do preço não significa que ele vai continuar a subir.
Não se considera o risco de reorientação após a ruptura do casco na pista, o que pode prejudicar.
Sem um mecanismo de saída, os riscos de posse a longo prazo devem ser considerados.
Os parâmetros da estratégia podem necessitar de ajustes para diferentes mercados.
A resposta ao risco pode ser otimizada e melhorada através dos seguintes métodos:
A combinação de mais indicadores para determinar a confiabilidade da ruptura do casco.
Depois de um avanço na pista, considere esperar por algum tempo ou a confirmação de um segundo avanço e entrar novamente.
Aumentar o trailing stop ou mover o stop para bloquear o lucro.
Teste de dados de diferentes mercados, parâmetros de otimização.
A estratégia pode ser otimizada em várias direções:
Optimizar os parâmetros do corpo da caixa para testar se os diferentes parâmetros do número de dias podem obter melhores resultados.
Aumentar os indicadores de filtragem, garantindo que você faça mais seguimento quando a tendência for alta. Por exemplo, combinando indicadores de linha média.
Optimizar os parâmetros de stop loss para que sejam mais adequados para diferentes mercados.
Aumentar o stop loss móvel para acompanhar o lucro.
Adição de um sinal de saída para parar o preço das ações em caso de uma correção.
A estratégia de compra de caixas de seguimento de um mercado de touros é uma estratégia de seguimento simples e eficaz baseada em melhorias na teoria de Darvas. Ela faz mais apenas quando há um sinal de compra claro, evitando muitas negociações aleatórias desnecessárias. Ao mesmo tempo, configura-se um stop loss e um stop loss para controlar o risco.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Darvas Box Strategy - Buy Only", overlay=true)
start_date = timestamp(2023, 10, 15, 0, 0)
boxp = input(5, "BOX LENGTH")
LL = lowest(low, boxp)
k1 = highest(high, boxp)
k2 = highest(high, boxp - 1)
k3 = highest(high, boxp - 2)
NH = valuewhen(high > k1[1], high, 0)
box1 = k3 < k2
TopBox = valuewhen(barssince(high > k1[1]) == boxp - 2 and box1, NH, 0)
BottomBox = valuewhen(barssince(high > k1[1]) == boxp - 2 and box1, LL, 0)
plot(TopBox, linewidth=2, color=color.green, title="TopBox")
plot(BottomBox, linewidth=2, color=color.red, title="BottomBox")
// Define entry conditions
enterLong = crossover(close, TopBox)
// Define exit conditions
exitLong = false // No specific exit condition mentioned in the original script
// Define stop loss level
stopLoss = BottomBox
// Define take profit level (2 times the stop loss)
takeProfit = stopLoss * 5
// Execute buy trade and set stop loss and take profit
strategy.entry("Buy", strategy.long, when = enterLong)
strategy.exit("Exit", "Buy", stop = stopLoss, limit = takeProfit)
// Plot buy signal arrow
plotshape(enterLong, title = "Buy Signal", style = shape.labelup, location = location.belowbar, color = color.green)
// Plot stop loss level
plot(stopLoss, linewidth=2, color=color.red, title="Stop Loss Level")
// Plot take profit level
plot(takeProfit, linewidth=2, color=color.rgb(19, 202, 111), title="Take Profit Level")
// Hide sell signal arrow
plotshape(false, title = "Sell Signal", style = shape.labeldown, location = location.abovebar, color = color.red, transp = 100)