Esta estratégia usa o indicador SuperTrend para determinar a direção da tendência atual, e gera sinais de negociação com base em padrões de candelabro de captura.
A estratégia primeiro calcula o indicador de SuperTrend para determinar a tendência atual, com verde para tendência de alta e vermelho para tendência de baixa. Em seguida, verifica se o candelabro forma um padrão de armadilha, que requer: 1) a vela é oposta à direção da SuperTrend, 2) a vela é forte (big bullish ou close não diverge), 3) a vela tem volume crescente. Quando todas as três condições são atendidas, ela sinaliza uma provável reversão da tendência. A estratégia vai longo na parte superior da vela de armadilha e vai curto na parte inferior.
Especificamente, a SuperTrend é calculada com base no ATR de 10 períodos. Em seguida, verifica se a vela atual é oposta à direção da SuperTrend e seu VOLUME é maior do que a vela anterior, ou três velas consecutivas com a mesma direção CLOSE, mas diminuindo o VOLUME. Se os critérios forem atendidos, ele sinaliza reversão e entra em longo no alto da vela e entra em curto no baixo da vela. O stop loss é colocado na direção do preço de abertura da vela de captura.
A estratégia identifica a tendência geral com SuperTrend e entra em pontos de reversão potenciais marcados por velas de captura, com o objetivo de lucro proveniente do movimento da tendência subsequente.
A combinação de tendência e padrão melhora a precisão.
O impulso forte e o volume crescente da vela de captura evitam falsos sinais de ruído.
Com a SuperTrend e a vela de captura como núcleo, a estratégia é muito minimalista, com poucos parâmetros e fácil de implementar.
O stop loss no preço da vela de captura permite uma saída rápida e também se adapta à posição após a reversão.
A SuperTrend tem algum atraso na detecção da inversão da tendência, podendo, portanto, perder o melhor momento de entrada.
Os sinais de reversão não são 100% confiáveis.
O padrão de captura ideal pode variar entre produtos e prazos, exigindo testes para os melhores parâmetros por situação.
As características de negociação diferem entre as sessões diurna e noturna.
Por exemplo, otimizar o nível de aumento de volume da vela de captura separadamente para o dia e a noite.
Teste diferentes períodos ATR para encontrar parâmetros e sinais de SuperTrend ideais para cada produto.
Incorporar indicadores adicionais como MACD, KDJ para melhorar a precisão do julgamento de reversão.
O valor da posição em risco deve ser calculado de acordo com o método de classificação da posição em risco.
Esta estratégia combina SuperTrend e padrões de vela de captura para entrar em inversões de tendência percebidas. A ideia central é simples e clara. Mas há espaço para melhorar ainda mais a precisão do sinal por otimizações abrangentes em aspectos como tendência geral, diferenças de sessão, stop loss etc., para melhorar a estabilidade. Com otimização iterativa, pode se tornar uma ferramenta poderosa para os traders ativos.
/*backtest start: 2023-09-17 00:00:00 end: 2023-09-24 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SuperTrend Trapping Candle Strategy", shorttitle="ST", margin_long=1, margin_short=1, overlay=true) // Inputs atrPeriod = input.int(10, "ATR Length") factor = input.int(2, "Factor") candleDivider = input.float(0.003, "Candle Height", step=0.0001) // Supertrend [supertrend, direction] = ta.supertrend(factor, atrPeriod) plot(direction < 0 ? supertrend : na, "Up Trend", color = color.green, style=plot.style_linebr) plot(direction < 0? na : supertrend, "Down Trend", color = color.red, style=plot.style_linebr) //Trapping canlde isUptrend = direction < 0 isDowntrend = direction > 0 isBullsStrengthDecreasing = volume < volume[1] and volume[1] < volume[2] and close > close[1] and close[1] > close[2] and open > open[1] and open[1] > open[2] isBearsStrengthDecreasing = volume < volume[1] and volume[1] < volume[2] and close < close[1] and close[1] < close[2] and open < open[1] and open[1] < open[2] isStrongVolume = (volume > volume[1]) or isBullsStrengthDecreasing or isBearsStrengthDecreasing isSmallCandle = (high - low) < close * candleDivider isUptrendTrapping = isUptrend and close < open and isStrongVolume and isSmallCandle isDowntrendTrapping = isDowntrend and close > open and isStrongVolume and isSmallCandle plotshape(isUptrendTrapping, style=shape.triangleup, location=location.belowbar, color=color.green) plotshape(isDowntrendTrapping, style=shape.triangledown, location=location.abovebar, color=color.orange) // Signals longCondition = isUptrendTrapping if (longCondition) strategy.entry("Long", strategy.long) shortCondition = isDowntrendTrapping if (shortCondition) strategy.entry("Short", strategy.short) if open < close alert("Seller Trapped.", alert.freq_all) if close > open alert("Buyer Trapped.", alert.freq_all)