Klasik RSI dediğin şey aslında bomboş bir indikatör; $N$ periyot boyunca mum kapanışlarının sadece yukarı/aşağı ortalama oranına bakar. Ne likidasyon hacminden (liquidation volume) haberi vardır, ne limit order book’taki dengesizlikten (Order Book Imbalance) ne de emirlerin tahtadan ne hızla geçtiğinden (Time & Sales).
Bir momentum indikatörünün piyasa mekaniklerini gerçekten yansıtmasını istiyorsak, fiyat değişim hızını dinamik bir volatilite filtresi ($ATR$) ve hacimle harmanlamamız şart. Bunun için kriptonun doğasına göre optimize edilmiş (işlem hacmini hesaba katan) modifiye bir Z-Score Momentum ve Chande Momentum Oscillator (CMO) kombinasyonu kullanacağız.

Burada S_u, ilgili periyottaki hacim ağırlıklı kapanış fiyatı kazançlarının toplamını; S_d ise yine hacim ağırlıklı mutlak kayıpların toplamını gösteriyor. Bu yaklaşım sayesinde, eğer momentum düşen hacimle devam ediyorsa (yani bariz bir uyumsuzluk/divergence varsa) osilatörün kalıcı olarak aşırı alım (overbought) bölgesine yapışıp kalması engelleniyor.
Metrik Seçimi: Momentum Osilatörlerinin Karşılaştırmalı Analizi
| İndikatör / Metrik | Aslında Ne Ölçüyor? | Kriptodaki En Büyük Sıkıntısı | Pro-Trading İçin Modifikasyon |
|---|---|---|---|
| Klasik RSI | Mum kapanışlarının göreceli gücünü. | Short squeeze zamanlarında 70+ / 30- bölgelerinde takılı kalıp çakılıyor. | Düz hareketli ortalama yerine VWMA (Volume Weighted) entegrasyonu. |
| Rate of Change (ROC) | Fiyat değişiminin saf hızını (P_t - P_{t-n}). | Çok choppy; piyasadaki anlık gürültüye ve gap'lere karşı aşırı hassas. | Sinyali EMA kullanarak yumuşatmak (smoothing). |
| Z-Score Momentum | Mevcut momentumun matematiksel beklentiden (mean) sapma derecesi. | Geriye dönük lookback penceresini sürekli yeniden kalibre etmek gerekiyor. | Doğrudan volatilite döngüsüne endeksli dinamik bir pencere (window) kullanımı. |
Stratejinin Kodlanması: Pine Script v5
Bu script, hacim ağırlıklı bir momentum skoru (Volume-Weighted Momentum Score) hesaplar. Z-Score’un ekstrem değerlerini filtreleyerek ve sinyal çizgilerinin kesişimlerine bakarak trendin tükendiği (exhaustion) noktaları yakalamaya çalışırız. Ana çalışma zaman dilimi: 15m – 1h (BTC/USDT veya ETH/USDT vadeli/perp paritelerinde gün içi scalping için).
Pine Script
//@version=5
strategy("Volume-Weighted Momentum Z-Score Strategy", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Parametre ayarları
len = input.int(14, title="Momentum Period")
smooth = input.int(5, title="Signal Smoothing")
z_len = input.int(20, title="Z-Score Lookback")
upper_band = input.float(2.0, title="Overbought (Z-Score)")
lower_band = input.float(-2.0, title="Oversold (Z-Score)")
// Hacim ağırlıklı momentum hesabı
price_change = ta.change(close)
vol_momentum = price_change * volume
// Momentumu yumuşat (smoothing)
smoothed_mom = ta.ema(vol_momentum, len)
// Yumuşatılmış momentum için Z-Score hesabı
mean_mom = ta.sma(smoothed_mom, z_len)
std_mom = ta.stdev(smoothed_mom, z_len)
z_score = std_mom != 0 ? (smoothed_mom - mean_mom) / std_mom : 0.0
// Sinyal çizgisi
signal_line = ta.ema(z_score, smooth)
// Plot bileşenleri
plot(z_score, color=color.white, title="Z-Score Momentum", linewidth=2)
plot(signal_line, color=color.yellow, title="Signal Line")
hline(upper_band, "Upper Bound", color=color.red, linestyle=hline.style_dashed)
hline(lower_band, "Lower Bound", color=color.green, linestyle=hline.style_dashed)
hline(0, "Zero Line", color=color.gray)
// Momentum tükenmesinde mean-reversion tetikleyicileri
long_condition = ta.crossover(z_score, lower_band) or (z_score < lower_band and ta.crossover(z_score, signal_line))
short_condition = ta.crossunder(z_score, upper_band) or (z_score > upper_band and ta.crossunder(z_score, signal_line))
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)Momentum İşlemlerinde Risk Yönetimi
Sinyal çizgisi kesiştiği anda direkt market emirle (market order) pozisyona atlamak finansal intihardır. Arka arkaya gelen likidasyon dalgaları (cascading liquidations) yüzünden momentum kaldığı yerden çok daha sert devam edebilir.
Bu yüzden katı bir kasa yönetimi (money management) kuralı oturtuyoruz:
- Giriş Noktası (İşlem Tetikleyici): Sadece Z-Score'un yeniden [-2.0; 2.0] bandının içine döndüğünü teyit eden mum kapanışından sonra işleme girilir. Bu durum, fiyatı fırlatan squeeze hareketinin yavaşladığının kanıtıdır.
- Stop Loss (SL): Kesinlikle sadece lokal uç noktaya (squeeze hareketini yapan mumun High/Low seviyesine) göre belirlenir ve üzerine 0.5 x ATR (14) kadar bir marj eklenir. Eğer stop mesafesi çok geniş çıkıyorsa stopu yakınlaştırmayın, direkt pozisyon büyüklüğünü (size) küçültün.
- Take Profit (TP): Kâr alımları kademeli olmalı. Sıfır çizgisine (momentumun matematiksel ortalaması) gelindiğinde pozisyonun %50'si kapatılır. Kalan kısım ise başabaş noktasına (BE) çekilerek bandın ters sınırına kadar taşınır.
- Risk/Ödül Oranı (R:R): Kabul edilebilir minimum hedef 1:2.5 olmalıdır. Bunun altındaki setup'lar, uzun vadede trend tersi (mean-reversion) modellerin win-rate oranını matematiksel olarak kurtarmaz.
O an Margin Call yiyip pozisyonu zorla patlatılanların hacmini arkasına almayan hiçbir osilatör geleceği tahmin edemez. Bu Z-Score momentumunu piyasayı okumak için bir bağlam filtresi olarak kullanın: Eğer gösterge kritik seviyeleri delip geçiyorsa, trend yönünde yeni bir FOMO'ya kapılmak için çok geç kalmışsınız demektir; artık ters yönlü emirleri hazırlama ya da kârı realize edip masadan kalkma vaktidir.