Estratégia da última vela

Autora:ChaoZhang, Data: 21-12-2023 12:15:23
Tags:

img

Resumo

A estratégia da última vela é uma estratégia de tendência que determina a direção da tendência do mercado com base na relação entre o preço de fechamento e o preço de abertura do último candelabro e gera sinais de negociação em conformidade.

Estratégia lógica

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

  1. Calcule o preço de abertura e preço de fechamento do último candelabro
  2. Se o preço de abertura for inferior ao preço de fechamento, julgue-o como uma tendência de alta e gere um sinal de compra
  3. Se o preço de abertura for superior ao preço de fechamento, julgue-o como uma tendência de queda e gere um sinal de venda
  4. Introduzir posições longas ou curtas com base nos sinais de negociação
  5. Estabelecer preços de stop loss e take profit para posições de saída

Especificamente, a estratégia solicita os dados de preço de abertura e fechamento do último candelabro e determina a direção da tendência com base na comparação de preços.

Para as posições longas, o preço de stop loss é o preço de abertura desse candelabro multiplicado por um coeficiente, e o preço de take profit é o preço de fechamento atual. Para as posições curtas é o oposto.

Análise das vantagens

  • Lógica estratégica simples e clara, fácil de compreender e implementar
  • Captura a última tendência de mudança de preço usando o último candelabro
  • O risco de prejuízo deve ser reduzido.

Análise de riscos

  • Último candelabro pode ter pullback ou lateralmente, aumentando a probabilidade de Whipsaw
  • Julgar a tendência apenas com base na última vela pode causar ficar preso, deve incorporar indicadores de tendência
  • Os dados insuficientes de backtesting podem levar a um sobreajuste

Os riscos podem ser reduzidos pela incorporação de indicadores de tendência para confirmação, otimização da lógica stop loss/take profit, expansão do período de backtest e ambientes de mercado.

Orientações de otimização

  • Incorporar MA, MACD, etc. para filtrar o calendário de entrada
  • Usar o ATR para definir a percentagem de stop loss
  • Introduzir modelos de aprendizagem de máquina para determinar a direção da tendência
  • Otimizar as estratégias de stop loss/take profit, como trailing stop loss, partial take profits etc.

Conclusão

A estratégia da última vela é uma estratégia simples de seguir tendência. Ele julga rapidamente a direção da tendência usando o último candelabro e negocia de acordo. A lógica é simples e fácil de implementar, alinhando-se com a ideia de seguir tendência. Stop loss e take profit também são definidos para controlar riscos. No entanto, apenas confiar no último candelabro pode facilmente ficar preso, por isso deve ser usado junto com indicadores de tendência. Além disso, ainda há muito espaço para melhorar essa estratégia, introduzindo mais indicadores técnicos ou modelos de aprendizado de máquina.


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

//@version=5
strategy("Last Candle Strategy with Date Range", overlay=true)

// Define the start and end dates for the backtest
startDate = timestamp(2015, 01, 01, 00, 00)
endDate = timestamp(2023, 11, 24, 23, 59)

// Check if the current bar is within the specified date range
withinDateRange = time >= startDate and time <= endDate

// If outside the date range, skip the strategy logic
if (not withinDateRange)
    strategy.close_all()

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

// Determine the trade direction based on the last candle
tradeDirection = lastCandleOpen < lastCandleClose ? 1 : -1  // 1 for buy, -1 for sell

// Plot the last candle's opening and closing values on the chart
plot(lastCandleOpen, color=color.blue, title="Last Candle Open")
plot(lastCandleClose, color=color.red, title="Last Candle Close")

// Execute strategy orders
if (withinDateRange)
    if (tradeDirection == 1)
        strategy.entry("Buy", strategy.long)

    if (tradeDirection == -1)
        strategy.entry("Sell", strategy.short)

// Set stop loss and take profit
stopLoss = 0.01 * lastCandleOpen
takeProfit = close

// Exit strategy
strategy.exit("StopLoss/Profit", from_entry="Buy", loss=stopLoss, profit=takeProfit)
strategy.exit("StopLoss/Profit", from_entry="Sell", loss=stopLoss, profit=takeProfit)



Mais.