A estratégia baseia-se em um indicador de tendência ultrapassada para determinar a direção da tendência atual e emite um sinal de negociação com base na forma da armadilha, pertencendo à estratégia de acompanhamento de tendência. Quando uma armadilha aparece na direção oposta à do indicador de tendência ultrapassada, indicando que a tendência pode ser revertida, a estratégia irá aproveitar a oportunidade de reversão.
A estratégia primeiro calcula o indicador de tendência superior para determinar a tendência atual, verde para tendência ascendente, vermelho para tendência descendente. Em seguida, julga se a linha K forma uma forma de armadilha, com as seguintes condições: 1) a linha K é oposta à direção do indicador de tendência superior, 2) a força da linha K é grande, ou seja, o preço de fechamento não é desviado, e 3) o volume de negociação da linha K é amplificado.
Concretamente, a estratégia baseia-se no cálculo do indicador de tendência exagerada do ATR de 10 períodos para julgar a tendência atual. Em seguida, calcule se a linha K atual é oposta à direção do indicador de tendência exagerada e o VOLUME é maior do que a linha K anterior, ou se três linhas K consecutivas estão de acordo com a direção do CLOSE, mas o VOLUME é menor.
A estratégia julga grandes tendências por meio de indicadores de tendências excessivas e pode entrar em uma armadilha de ponto de reversão, com o objetivo de lucrar com a execução de tendências subsequentes.
Os indicadores de tendências excessivas determinam a direção das grandes tendências, as armadilhas identificam as oportunidades de reversão da tendência, e a combinação de tendências e formas aumenta a precisão do julgamento.
Requer uma amplificação forte da armadilha, para evitar falsos sinais causados pelo ruído. Aumentar a confirmação de entrada, para evitar o risco de acúmulo e escavação.
O programa é muito simples, com poucos parâmetros e pouca dificuldade de implementação.
O ponto de parada é configurado como um preço de armadilha, que pode ser rapidamente interrompido, e também corresponde a uma posição razoável após a reversão da tendência.
O indicador de tendência ultrapassada julga que a tendência está atrasada e pode perder o melhor ponto de entrada para a reversão da tendência.
Os sinais de reversão não são necessariamente 100% confiáveis, e os prejuízos podem aumentar se a reversão falhar.
A forma apropriada da armadilha pode variar de acordo com a variedade e o período de tempo. Os melhores parâmetros devem ser testados para cada situação.
Há diferenças nas características de negociação de disco noturno e de overnight, e os parâmetros precisam ser otimizados separadamente.
Por exemplo, o volume de transações da linha K da armadilha pode ser amplificado, o parâmetro dia/noite pode ser otimizado.
Testar diferentes parâmetros de ciclo ATR para encontrar o melhor parâmetro para uma determinada variedade, gerando um sinal de ultra-transição mais preciso.
Pode-se adicionar indicadores como MACD, KDJ, etc., para melhorar a precisão do julgamento da inversão.
Controlar o risco, por exemplo, por meio de paradas de tendência após a reversão ou paradas percentuais.
A estratégia integra o indicador de tendência ultrapassada e a forma de armadilha, que entra em jogo quando se determina a reversão da tendência. A ideia central é simples, clara e fácil de implementar. Mas a precisão do sinal de negociação ainda tem espaço para otimização.
/*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)