
Esta estratégia é como se você tivesse um “olho de fogo” em sua negociação. Ela é projetada para negociações de linha ultra curta de 1 minuto e 5 minutos, combinando os cinco indicadores técnicos mais poderosos: EMA lenta, RSI, MACD, Blink, e um filtro de volume de transação.
Imagine que a estratégia é como um “entrevistador” super-severo, que só seleciona oportunidades de negócios que atendam a vários requisitos ao mesmo tempo:
A sinalização de múltiplos cabeçalhos tem de ser satisfeita.O preço está acima da EMA rápida, o MACD é positivo, o RSI está entre 50 e 80, e o volume de transação é suficiente para sustentar isso. Isso é tão rigoroso quanto exigir que uma pessoa seja de alto valor, talento e boa personalidade!
Os sinais de cabeceira são o oposto.O que é necessário é que todas as condições sejam preenchidas de forma inversa, garantindo que cada transação tenha suporte técnico.
A parte mais inteligente desta estratégia é o seu controle de risco! O Stop Loss é de 0,5%, o Stop Stop é de 1,0% e o RRR é de 1:2. É como a interpretação perfeita de “pequena treta” - cada perda é pequena, mas os lucros podem ser duplicados!
E também tem um design cuidadoso: o reconhecimento de forma de um gráfico de filtro é automaticamente desligado em um gráfico de 1 minuto, porque o ruído de forma de linha K de um fio ultra curto é muito grande e é fácil de confundir. É tão inteligente quanto a redução automática de ruído em um ambiente barulhento!
Adequado para o públicoPara os que querem fazer transações diárias no mercado de criptomoedas, especialmente para aqueles que querem acumular lucros com transações pequenas e frequentes.
Resolvendo problemasAo mesmo tempo, o rigoroso controle de risco permite que você tenha um erro de julgamento e que os prejuízos estejam sob controle.
Lembre-se que esta estratégia é como uma faca cirúrgica sofisticada, que precisa ser usada de forma eficiente em pares de criptomoedas com alta liquidez. Juntamente com uma boa gestão de fundos, ela pode se tornar uma grande ajuda no seu arsenal de negociação!
/*backtest
start: 2024-09-08 00:00:00
end: 2025-09-06 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":500000}]
*/
//@version=5
strategy("Advanced Crypto Scalping Strategy - 1 & 5 Min Charts", overlay=true, margin_long=100, margin_short=100)
// Inputs for customization (optimized for 1-min and 5-min timeframes)
emaFastLen = input.int(7, "Fast EMA Length", minval=1, tooltip="Use 5-8 for 1-min, 7-10 for 5-min")
emaSlowLen = input.int(14, "Slow EMA Length", minval=1, tooltip="Use 10-15 for 1-min, 14-21 for 5-min")
rsiLen = input.int(10, "RSI Length", minval=1, tooltip="Use 8-12 for 1-min, 10-14 for 5-min")
rsiOverbought = input.int(80, "RSI Overbought", minval=50, maxval=100, tooltip="Use 80-85 for 1-min, 75-80 for 5-min")
rsiOversold = input.int(20, "RSI Oversold", minval=0, maxval=50, tooltip="Use 15-20 for 1-min, 20-25 for 5-min")
macdFast = input.int(8, "MACD Fast Length", minval=1, tooltip="Use 6-10 for 1-min, 8-12 for 5-min")
macdSlow = input.int(21, "MACD Slow Length", minval=1, tooltip="Use 15-21 for 1-min, 21-26 for 5-min")
macdSignal = input.int(5, "MACD Signal Smoothing", minval=1, tooltip="Use 4-6 for 1-min, 5-9 for 5-min")
bbLen = input.int(15, "Bollinger Bands Length", minval=1, tooltip="Use 10-15 for 1-min, 15-20 for 5-min")
bbMult = input.float(1.8, "Bollinger Bands Multiplier", minval=0.1, step=0.1, tooltip="Use 1.5-1.8 for 1-min, 1.8-2.0 for 5-min")
slPerc = input.float(0.5, "Stop Loss %", minval=0.1, step=0.1, tooltip="Use 0.3-0.6 for 1-min, 0.5-0.8 for 5-min")
tpPerc = input.float(1.0, "Take Profit %", minval=0.5, step=0.1, tooltip="Use 0.8-1.2 for 1-min, 1.0-1.5 for 5-min")
useCandlePatterns = input.bool(false, "Use Candlestick Patterns", tooltip="Disable for 1-min to reduce noise, enable for 5-min")
useVolumeFilter = input.bool(true, "Use Volume Filter", tooltip="Enable for both timeframes to filter low-volume signals")
signalSize = input.float(2.0, "Signal Arrow Size", minval=1.0, maxval=3.0, step=0.5, tooltip="1.0=tiny, 2.0=small, 3.0=normal")
bgTransparency = input.int(85, "Background Highlight Transparency", minval=0, maxval=100)
labelOffset = input.float(0.8, "Label Offset %", minval=0.5, maxval=5, step=0.1)
// Calculate indicators
emaFast = ta.ema(close, emaFastLen)
emaSlow = ta.ema(close, emaSlowLen)
rsi = ta.rsi(close, rsiLen)
[macdLine, signalLine, _] = ta.macd(close, macdFast, macdSlow, macdSignal)
[bbMid, bbUpper, bbLower] = ta.bb(close, bbLen, bbMult)
volMa = ta.sma(volume, 15)
// Trend determination
bullTrend = close > emaFast and emaFast > emaSlow
bearTrend = close < emaFast and emaFast < emaSlow
// EMA crossover signals
emaCrossBuy = ta.crossover(emaFast, emaSlow)
emaCrossSell = ta.crossunder(emaFast, emaSlow)
// Momentum signals
bullMacd = ta.crossover(macdLine, signalLine) and macdLine > 0
bearMacd = ta.crossunder(macdLine, signalLine) and macdLine < 0
// Channel breakouts
bullBreak = ta.crossover(close, bbUpper)
bearBreak = ta.crossunder(close, bbLower)
// RSI conditions
bullRsi = rsi > 50 and rsi < rsiOverbought
bearRsi = rsi < 50 and rsi > rsiOversold
// Candlestick patterns (optional, less reliable on 1-min)
bullEngulf = close > open and open < low[1] and close > high[1] and useCandlePatterns
bearEngulf = close < open and open > high[1] and close < low[1] and useCandlePatterns
hammer = (high - low) > 2 * (close - open) and close > open and (close - low) / (high - low) > 0.6 and useCandlePatterns
shootingStar = (high - low) > 2 * (open - close) and close < open and (high - close) / (high - low) > 0.6 and useCandlePatterns
bullCandle = bullEngulf or hammer
bearCandle = bearEngulf or shootingStar
// Volume filter
volFilter = volume > volMa * 1.8 or not useVolumeFilter
// Combined buy/sell conditions
mainBuyCondition = bullTrend and bullMacd and bullBreak and bullRsi and bullCandle and volFilter
mainSellCondition = bearTrend and bearMacd and bearBreak and bearRsi and bearCandle and volFilter
buyCondition = mainBuyCondition or emaCrossBuy
sellCondition = mainSellCondition or emaCrossSell
// Strategy entries
var bool isBuyActive = false
var bool isSellActive = false
if (buyCondition and strategy.position_size == 0 and not isBuyActive)
strategy.entry("Buy", strategy.long)
label.new(bar_index, low * (1 - labelOffset / 100), emaCrossBuy ? "EMA BUY" : "BUY", color=color.green, style=label.style_label_up, textcolor=color.white, size=size.large)
isBuyActive := true
isSellActive := false
if (sellCondition and strategy.position_size == 0 and not isSellActive)
strategy.entry("Sell", strategy.short)
label.new(bar_index, high * (1 + labelOffset / 100), emaCrossSell ? "EMA SELL" : "SELL", color=color.red, style=label.style_label_down, textcolor=color.white, size=size.large)
isSellActive := true
isBuyActive := false
// Exits
if (strategy.position_size > 0) // Long position
strategy.exit("Exit Buy", "Buy", stop=strategy.position_avg_price * (1 - slPerc / 100), limit=strategy.position_avg_price * (1 + tpPerc / 100))
if (strategy.position_size == 0)
isBuyActive := false
if (strategy.position_size < 0) // Short position
strategy.exit("Exit Sell", "Sell", stop=strategy.position_avg_price * (1 + slPerc / 100), limit=strategy.position_avg_price * (1 - tpPerc / 100))
if (strategy.position_size == 0)
isSellActive := false
// Plot indicators
plot(emaFast, color=color.blue, title="Fast EMA")
plot(emaSlow, color=color.orange, title="Slow EMA")
plot(bbUpper, color=color.red, title="BB Upper")
plot(bbMid, color=color.gray, title="BB Mid")
plot(bbLower, color=color.green, title="BB Lower")
// Plot signals with fixed size to avoid type mismatch
plotshape(buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.normal)
plotshape(sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.normal)
// Background highlights
bgcolor(buyCondition ? color.new(color.green, bgTransparency) : sellCondition ? color.new(color.red, bgTransparency) : na)