
이 전략은 마치 당신의 거래에 “불의 눈”을 달아놓은 것과 같습니다. 이것은 1분과 5분 초단계 거래를 위해 고안되었으며, 5가지의 가장 강력한 기술 지표를 결합합니다. 빠른 EMA, RSI, MACD, 브린 띠, 그리고 거래량 필터. 간단히 말해서, 시장의 모든 작은 변동에서 기회를 정확하게 잡을 수 있습니다!
이 전략은 매우 엄격한 ‘인터뷰어’와 같다고 상상해 보세요. 여러 조건을 동시에 충족시키는 거래가 통과될 수 있습니다.
다중 신호가 만족해야 합니다.가격이 빠른 EMA를 넘어서고 MACD 금포가 긍정적으로 부린을 돌파하고 RSI가 50~80을 넘어서고 충분한 거래량을 확보해야 합니다. 이것은 한 사람이 가치가 높고, 재능이 있고, 성격이 좋다고 요구하는 것과 같습니다.
텅 빈 신호는 반대입니다모든 조건이 역으로 충족되어야 모든 거래가 충분한 기술 지원을 받도록 보장됩니다.
이 전략의 가장 똑똑한 부분은 위험 관리입니다. Stop Loss은 0.5%, Stop Stop은 1.0%로 설정되어 있고, Risk to Revenue 비율은 1:2입니다. “작은 “의 완벽한 해석처럼 - 매번 손실은 작지만 수익은 두 배로 증가합니다!
그리고 1분짜리 그래프에서 자동으로 그라프 형태 인식이 종료됩니다. K선 형태 잡음이 너무 커서 판단을 오도하기 쉽기 때문입니다. 이것은 시끄러운 환경에서 자동으로 소음을 줄이는 것과 같습니다.
대중에게 적합합니다.: 가상화폐 시장에서 일일 거래를 하고 싶어하는 친구들, 특히 작은 거래로 수익을 쌓고 싶어하는 트레이더들.
고통의 해결: 단 하나의 지표에 대한 가짜 신호 방해는 그만! 여러 확인 메커니즘을 통해 신호의 신뢰성이 크게 향상되었습니다. 동시에, 엄격한 위험 통제는 당신이 실수로 판단 할지라도 손실이 통제 가능한 범위 내에 있습니다.
기억하세요, 이 전략은 정교한 수술 칼과 같으며, 유동성이 높은 암호화폐 쌍에서 가장 잘 사용되어야 합니다. 좋은 재무 관리와 함께, 거래 무기고에서 훌륭한 조력자가 될 수 있습니다!
/*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)