Cryptocurrency Multi-Indicator Fusion Scalping Strategy

EMA RSI MACD BB VOLUME
Tarikh penciptaan: 2025-09-08 13:24:50 Akhirnya diubah suai: 2025-09-08 13:24:50
Salin: 13 Bilangan klik: 520
2
fokus pada
319
Pengikut

Cryptocurrency Multi-Indicator Fusion Scalping Strategy Cryptocurrency Multi-Indicator Fusion Scalping Strategy

Bagaimana agaknya taktik ini?

Ia direka khas untuk 1 minit dan 5 minit perdagangan ultra-pendek, menggabungkan 5 petunjuk teknikal yang paling kuat: EMA, RSI, MACD, Brinband, dan penapis kuantiti. Secara ringkas, ia membolehkan anda menangkap peluang dengan tepat dalam setiap pergerakan kecil di pasaran!

Bagaimana anda boleh bermain dengan set gabungan ini?

Bayangkan strategi ini seperti seorang “penemuduga” yang sangat ketat, yang hanya akan menyaring tawaran yang memenuhi beberapa syarat pada masa yang sama:

Isyarat multihead mesti dipenuhiHarga di atas EMA pantas, MACD Gold Fork positif, menembusi Bollinger Bands, RSI antara 50-80, dan mempunyai sokongan kuantiti yang mencukupi. Ini sama seperti menuntut seseorang untuk mempunyai nilai tinggi, bakat, dan watak yang baik!

Tanda kepala kosong sebaliknya.Semua syarat mesti dipenuhi secara terbalik, memastikan setiap transaksi mempunyai sokongan teknikal yang mencukupi.

Panduan Mengelakkan Kerosakan: Mengapa Pilih Talian Ultra-Pendek?

Tempat yang paling bijak dalam strategi ini adalah kawalan risiko! Stop loss ditetapkan pada 0.5%, stop loss ditetapkan pada 1.0%, dan nisbah risiko-keuntungan mencapai 1: 2. Ia seperti tafsiran yang sempurna untuk “kecenderungan kecil” - kerugian kecil setiap kali, tetapi keuntungan boleh dua kali ganda!

Dan ia juga mempunyai reka bentuk yang baik: pengesanan corak corak akan dimatikan secara automatik pada gambar 1 minit, kerana bunyi corak K yang terlalu pendek terlalu besar dan mudah untuk mengelirukan penghakiman. Ia adalah seperti pengurangan bunyi secara automatik dalam persekitaran bising!

“Ketika saya melihat orang-orang yang tidak mempunyai anak, saya melihat mereka yang tidak mempunyai anak, saya melihat mereka yang tidak mempunyai anak, saya melihat mereka yang tidak mempunyai anak.

Sesuai untuk orang ramai: Kawan-kawan yang ingin berdagang dalam pasaran mata wang kripto dalam masa sehari, terutamanya mereka yang ingin mengumpulkan keuntungan dengan berdagang secara kecil dan kerap.

Menyelesaikan masalahDengan mekanisme pengesahan berganda, kebolehpercayaan isyarat meningkat dengan ketara. Di samping itu, kawalan risiko yang ketat membolehkan anda membuat keputusan yang salah, tetapi kerugian dalam keadaan terkawal.

Ingat, strategi ini adalah seperti pisau bedah yang canggih, yang perlu digunakan dengan baik pada pasangan mata wang kripto yang mempunyai kecairan tinggi.

Kod sumber strategi
/*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)