Estratégia diária de fuga

Autora:ChaoZhang, Data: 2024-01-02 13:57:42
Tags:

img

Resumo

A estratégia de ruptura diária é uma estratégia simples de tendência baseada em gráficos diários de velas.

Estratégia lógica

A lógica central desta estratégia é a seguinte:

Se o corpo da vela do dia anterior for verde (preço de fechamento maior que o preço de abertura), indica uma tendência de alta naquele dia. A estratégia será longa na abertura do dia seguinte. Se o corpo da vela do dia anterior for vermelho (preço de fechamento menor que o preço de abertura), indica uma tendência de queda. A estratégia será curta na abertura do dia seguinte.

Desta forma simples, a estratégia pode identificar o impulso do mercado dentro do recente ciclo de um candelabro e fazer negociações em conformidade.

Especificamente, a estratégia gera sinais de negociação da seguinte forma:

  1. Obtenha os dados do candelabro do dia de negociação anterior no mercado aberto a cada dia
  2. Compare os preços de abertura e fechamento do candelabro
  3. Se aberto < fechado (candelário verde), gerar sinal longo, ir longo em uma porcentagem dos fundos disponíveis
  4. Se aberto > fechado (candelário vermelho), gerar sinal de curto prazo, curto prazo em uma porcentagem dos fundos disponíveis
  5. Usar o stop loss para posições de saída

Através desta lógica, a estratégia pode capitalizar as tendências de preços a curto prazo.

Vantagens

As principais vantagens desta estratégia incluem:

  1. Simplicidade- A lógica central compara diretamente a cor do candelabro e é muito simples e clara.
  2. Seguimento da tendência- Identifica a direcção da tendência do último dia de negociação, seguindo um impulso a curto prazo.
  3. Flexibilidade- Parâmetros como posicionamento, stop loss podem ser ajustados para modificar o risco versus recompensa.
  4. Potencial de otimização- Podem ser acrescentadas mais melhorias, como análise de quadros de tempo múltiplos e adaptação de dados para melhorar a robustez.

Riscos e melhorias

Alguns riscos e áreas de melhoria:

  1. Risco de serradura- só olha para a vela diária, por isso pode falsamente comprar pullbacks em vez da tendência real em mercados variando.
  2. Risco de curto prazo- As posições curtas têm um risco de queda ilimitado.
  3. Ajuste de parâmetros- ajustamento fino do nível de stop loss, dimensionamento das posições, etc., para obter melhores retornos ajustados ao risco.
  4. Adicionar indicadores- Incorporar mais indicadores técnicos para melhorar a robustez e a estabilidade.

Conclusão

A estratégia de breakout diária identifica o impulso do mercado através de uma comparação simples e eficaz de velas diárias, permitindo que ele negocie na direção de tendências de curto prazo.


/*backtest
start: 2022-12-26 00:00:00
end: 2023-08-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Daily Candle Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=0.0)

// Input parameters
initialCapital = 10000
riskFactor = 3500

// Calculate the opening and closing values for the last day's candle
lastDayOpen = request.security(syminfo.tickerid, "D", open[1], lookahead=barmerge.lookahead_on)
lastDayClose = request.security(syminfo.tickerid, "D", close[1], lookahead=barmerge.lookahead_on)

// Determine the color of the last day's candle
lastDayColor = lastDayOpen < lastDayClose ? color.green : color.red

// Plot the last day's candle on the chart
plotshape(series=na, color=lastDayColor, style=shape.triangledown, location=location.abovebar)

// Calculate trade size based on available capital at last day's closing
availableCapital = strategy.equity
tradeSize = availableCapital / riskFactor

// Trading conditions
buyCondition = lastDayColor == color.green
sellCondition = lastDayColor == color.red

// Execute strategy orders with calculated trade size
strategy.entry("Buy", strategy.long, qty=tradeSize, when=buyCondition)
strategy.entry("Sell", strategy.short, qty=tradeSize, when=sellCondition)

// Exit strategy
stopLoss = 0.001 * lastDayOpen * tradeSize
strategy.exit("StopLoss/Profit", from_entry="Buy", loss=stopLoss)
strategy.exit("StopLoss/Profit", from_entry="Sell", loss=stopLoss)

// Plot stop loss level on the chart
plot(stopLoss, color=color.red, linewidth=2, title="Stop Loss")



Mais.