Esta estratégia usa o padrão de reversão do martelo intradiário em combinação com uma vela verde subsequente para encontrar oportunidades potenciais de alta. Quando um padrão de reversão do martelo aparece e a próxima vela é uma vela verde ascendente, a estratégia abre uma posição longa.
O padrão de martelo é um padrão técnico comum que muitas vezes aparece no final de uma tendência de queda, sinalizando a chegada de uma inversão de tendência.
Quando o padrão do martelo é confirmado, se a próxima vela for uma vela verde ascendente e a baixa for maior do que a baixa da vela do martelo, um sinal de alta é formado e uma posição longa é inserida.
A estratégia longa de reversão do padrão do martelo intradiário faz pleno uso das características de reversão do padrão do martelo, combinadas com a confirmação de uma vela verde subsequente, para formar um sinal de alta baseado em dois padrões de velas consecutivos. Ao mesmo tempo, a estratégia usa uma relação risco-recompensa fixa para controlar a exposição ao risco e manter uma alta relação risco-recompensa. No entanto, a definição de padrões da estratégia é relativamente simples e não possui verificação de outros indicadores técnicos, o que pode enfrentar uma alta taxa de falha do sinal em aplicações práticas. Além disso, porque o stop loss é definido relativamente perto, a estratégia também enfrenta o problema de altas perdas individuais. No futuro, a estratégia pode ser ainda mais otimizada e melhorada em termos de confirmação de sinal e controle de risco para melhorar a estabilidade geral e a lucratividade.
/*backtest start: 2023-03-09 00:00:00 end: 2024-03-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Hammer Pattern and Follow-Up Green Candle Strategy", overlay=true) // Detecting a Hammer candle isHammer() => bodySize = math.abs(close[1] - open[1]) lowerWickSize = open[1] - low[1] upperWickSize = high[1] - open[1] // For a red candle, the upper wick is from the open to the high bodyIsSmall = bodySize <= (high[1] - low[1]) * 0.3 // Body is less than 30% of the entire candle range lowerWickIsLong = lowerWickSize >= bodySize * 2 // Lower wick is at least twice the body length noUpperWick = upperWickSize == 0 or high[1] <= open[1] * 1.01 // No upper wick or very small close[1] < open[1] and bodyIsSmall and lowerWickIsLong and noUpperWick // Check if the current candle is green with no or small tail isGreenWithNoSmallTail() => close > open // Entry condition entryCondition = isHammer() and isGreenWithNoSmallTail() and low >low[1] // Calculate stop loss and take profit levels stopLossLevel = low[1] profitTargetLevel = close * 1.5 //Calculate position bodySize positionSize = 50000 / close // Execute strategy if (entryCondition) strategy.entry("Hammer Buy", strategy.long,qty=positionSize) strategy.exit("Take Profit / Stop Loss", "Hammer Buy", stop=stopLossLevel, limit=profitTargetLevel)