# MACD nedir, nasıl hesaplanır ve yorumlanır?

Adres: https://fincodelabs.com/blog/macd-nedir · Yayıncı: Fincode (Fincode Yazılım ve Teknoloji A.Ş.), İstanbul, Türkiye · Kategori: Algoritmik işlem · Yayın: 2026-10-18 · Güncelleme: 2026-10-18

MACD nedir? 12-26 EMA ve 9 sinyal formülü, varsayımsal hesap tablosu, sinyal kesişimi, sıfır çizgisi, uyumsuzluk, gecikme sorunu ve Pine Script ta.macd örneği.

**Kısa cevap:** **MACD** (hareketli ortalama yakınsama/ıraksama), iki üssel hareketli ortalama arasındaki farktır: varsayılan ayarlarda MACD = 12 dönemlik EMA − 26 dönemlik EMA. MACD'nin 9 dönemlik EMA'sı sinyal çizgisini, MACD ile sinyal çizgisinin farkı histogramı verir. Gösterge geçmiş fiyattan hesaplanır ve gecikmelidir; tek başına bir al-sat sinyali değildir.

MACD (Moving Average Convergence Divergence, hareketli ortalama yakınsama/ıraksama), bir fiyat serisinin kısa ve uzun vadeli üssel hareketli ortalamaları arasındaki farkı izleyen bir göstergedir. İki ortalama birbirinden uzaklaştığında MACD büyür, birbirine yaklaştığında küçülür; gösterge adını bu yakınsama ve ıraksamadan alır. Trendin yönünü ve hareketin hızlanıp yavaşladığını tek panelde özetlediği için en bilinen teknik göstergelerden biridir.

Aşağıda formül varsayımsal bir sayısal tabloyla adım adım hesaplanıyor; sinyal kesişimi, sıfır çizgisi ve uyumsuzluk yorumları, göstergenin bilinen zayıflıkları, Pine Script v6'daki `ta.macd()` fonksiyonu ve bir MACD kuralının geçmiş veride nasıl sınanacağı ele alınıyor. Göstergelerin genel çerçevesi [teknik analiz nedir](https://fincodelabs.com/blog/teknik-analiz-nedir) yazısında anlatılıyor.

## MACD nedir, kim geliştirdi?

StockCharts'a göre MACD'yi 1970'lerin sonunda Gerald Appel geliştirdi; Appel'in 2005'te yayımlanan *Technical Analysis: Power Tools for Active Investors* kitabının yayıncı tanıtımında da MACD tekniklerinin Appel'in kendi geliştirdiği yöntemler olduğu belirtilir. Bugün MACD ile birlikte gösterilen histogramı ise TradingView'ın aktardığına göre 1986'da Thomas Aspray ekledi.

Gösterge, fiyat grafiğinin altındaki ayrı bir panelde üç bileşenle çizilir:

- **MACD çizgisi:** Hızlı (kısa) EMA ile yavaş (uzun) EMA arasındaki fark.
- **Sinyal çizgisi:** MACD çizgisinin hareketli ortalaması; varsayılan ayarda 9 dönemlik EMA.
- **Histogram:** MACD çizgisi ile sinyal çizgisi arasındaki fark; sütunlar halinde çizilir.

StockCharts, MACD'yi hem trend takibi hem de momentum ölçüsü sunan bir gösterge olarak tanımlar: iki hareketli ortalamadan türetildiği için trendin yönünü, aralarındaki farkın değişimi nedeniyle de hareketin hızlanıp yavaşladığını gösterir. RSI veya [stokastik osilatör](https://fincodelabs.com/blog/stokastik-osilator-nedir) gibi 0–100 aralığına sıkışmış göstergelerin aksine MACD'nin sabit bir alt ve üst sınırı yoktur; değeri fiyatın kendi birimiyle (TL, dolar) ifade edilir.

## MACD nasıl hesaplanır? Formül ve varsayımsal örnek

Varsayılan (12, 26, 9) ayarlarla hesap üç adımdan oluşur:

1. **MACD çizgisi** = 12 dönemlik EMA − 26 dönemlik EMA
2. **Sinyal çizgisi** = MACD çizgisinin 9 dönemlik EMA'sı
3. **Histogram** = MACD çizgisi − sinyal çizgisi

EMA her çubukta bir önceki değerden güncellenir: yeni EMA = önceki EMA + α × (kapanış − önceki EMA), burada α = 2 ÷ (n + 1). Buna göre 12 dönemlik EMA'da α = 2/13 ≈ 0,154, 26 dönemlik EMA'da 2/27 ≈ 0,074, 9 dönemlik sinyal çizgisinde 2/10 = 0,2'dir. SMA ile EMA arasındaki fark [RSI ve hareketli ortalama](https://fincodelabs.com/blog/rsi-hareketli-ortalama-nedir) yazısında ayrıntılı olarak anlatılıyor.

> **Örnek:** Varsayımsal bir hissede başlangıç gününde 12 dönemlik EMA 101,00 TL, 26 dönemlik EMA 99,00 TL ve sinyal çizgisi 1,50 olsun. MACD = 101,00 − 99,00 = 2,00 ve histogram = 2,00 − 1,50 = 0,50'dir. Ertesi gün kapanış 103 TL olursa:
>
> - EMA 12 = 101,00 + (103 − 101,00) × 2/13 ≈ 101,31
> - EMA 26 = 99,00 + (103 − 99,00) × 2/27 ≈ 99,30
> - MACD ≈ 101,31 − 99,30 ≈ 2,011
> - Sinyal = 1,50 + (2,011 − 1,50) × 0,2 ≈ 1,602
> - Histogram ≈ 2,011 − 1,602 = 0,409

**Varsayımsal MACD hesabı (12, 26, 9)**

| Gün | Kapanış (TL) | EMA 12 | EMA 26 | MACD | Sinyal | Histogram |
| ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| 0 | – | 101,00 | 99,00 | 2,000 | 1,500 | 0,500 |
| 1 | 103 | 101,31 | 99,30 | 2,011 | 1,602 | 0,409 |
| 2 | 104 | 101,72 | 99,64 | 2,077 | 1,697 | 0,380 |
| 3 | 100 | 101,46 | 99,67 | 1,786 | 1,715 | 0,071 |
| 4 | 97 | 100,77 | 99,47 | 1,298 | 1,632 | −0,334 |
| 5 | 96 | 100,04 | 99,22 | 0,821 | 1,470 | −0,648 |

Tablodaki değerler yuvarlanmıştır; hesap yuvarlanmamış değerlerle yapılmıştır. İki nokta dikkat çeker. İkinci gün fiyat 104 TL ile yeni zirve yaparken MACD hafifçe yükselir, ancak histogram 0,409'dan 0,380'e geriler: yükselişin hızı azalmaktadır. Dördüncü gün MACD sinyal çizgisinin altına iner ve histogram negatife döner; oysa bu noktada fiyat zirveden yaklaşık %6,7 düşmüş durumdadır. MACD hâlâ sıfırın üzerindedir, yani 12 dönemlik ortalama 26 dönemliğin üzerinde kalmaya devam eder. Tablo, göstergenin gecikmesini somut olarak gösterir.

EMA'nın ilk değeri için bir başlangıç noktası seçmek gerekir ve 26 dönemlik ortalamada bu başlangıcın etkisi uzun süre izlenebilir. Bu yüzden kısa veri geçmişiyle hesaplanan MACD değerleri platformdan platforma farklı çıkabilir. TradingView'ın MACD göstergesinde ayrıca osilatör ve sinyal ortalaması için EMA ya da SMA seçilebilir; karşılaştırma yapılırken aynı uzunlukların ve aynı ortalama türünün kullanıldığı kontrol edilmelidir.

## MACD nasıl yorumlanır? Kesişim, sıfır çizgisi ve histogram

### Sinyal çizgisi kesişimi

MACD'nin sinyal çizgisini yukarı kesmesi yükseliş yönlü, aşağı kesmesi düşüş yönlü kesişim olarak adlandırılır. StockCharts bunları en yaygın MACD sinyalleri olarak tanımlar; ancak kendi örneğinde altı ayda sekiz kesişim sayar ve bunların bir bölümünün iyi, bir bölümünün kötü sonuç verdiğini gösterir. Güçlü bir trend oluşmadığında kesişimler art arda geçersiz kalan sinyaller (whipsaw) üretebilir.

### Sıfır çizgisi

MACD'nin sıfırın üzerinde olması, hızlı ortalamanın yavaş ortalamanın üzerinde olduğu anlamına gelir; TradingView bunu ortalama yukarı yönlü momentum veya olası bir yükseliş trendiyle ilişkilendirir. Sıfırın altı bunun tersidir. MACD'nin sıfır çizgisini kesmesi, 12 ve 26 dönemlik EMA'ların birbirini kesmesiyle aynı olaydır; yani klasik bir hareketli ortalama kesişiminin başka bir gösterimidir.

### Histogram

Histogram, MACD ile sinyal çizgisi arasındaki mesafeyi gösterir. Sütunların kısalması iki çizginin birbirine yaklaştığını, sıfıra inmesi ise kesişimi gösterir. Histogram kesişimden önce daralmaya başladığı için momentumdaki yavaşlamayı daha erken yansıtabilir, ancak her daralma bir kesişimle sonuçlanmaz. TradingView'ın yerleşik MACD göstergesindeki alarm koşulları da histogramın pozitiften negatife ya da negatiften pozitife dönmesine göre tanımlanmıştır.

## MACD uyumsuzluğu (divergence) nedir?

Uyumsuzluk, fiyat ile göstergenin farklı yönlere işaret etmesidir:

- **Pozitif (yükseliş yönlü) uyumsuzluk:** Fiyat daha düşük bir dip yaparken MACD daha yüksek bir dip yapar.
- **Negatif (düşüş yönlü) uyumsuzluk:** Fiyat daha yüksek bir tepe yaparken MACD daha düşük bir tepe yapar.

TradingView bu düzenli uyumsuzlukları mevcut trendin zayıflayabileceğine veya dönüşe hazırlanabileceğine, gizli uyumsuzlukları ise trendin sürebileceğine işaret eden durumlar olarak tanımlar; kullanılan dil kesinlik değil olasılık bildirir. StockCharts ise güçlü yükseliş trendlerinde negatif, güçlü düşüş trendlerinde pozitif uyumsuzlukların sık görüldüğünü hatırlatır. Yani uyumsuzluk oluştuktan sonra trend uzun süre devam edebilir.

Uyumsuzluğun öznel bir yanı da vardır: hangi iki tepenin veya dibin karşılaştırılacağı kullanıcının seçimidir. Bu seçim geçmiş grafikte geriye dönük yapıldığında, gerçek zamanda bilinemeyecek bir isabet görüntüsü oluşur. Kurallı bir sistemde uyumsuzluğu kullanmak için tepe ve diplerin nasıl tespit edileceğinin de (örneğin kaç çubuk sonra doğrulanacağının) önceden tanımlanması gerekir.

## MACD'nin sınırlamaları nelerdir?

- **Gecikme:** MACD hareketli ortalamalardan türetildiği için yalnızca gerçekleşmiş fiyata tepki verir. TradingView hareketli ortalamaları gecikmeli (reaktif) göstergeler olarak tanımlar ve uzunluk arttıkça gecikmenin büyüdüğünü belirtir; sinyal çizgisi bu gecikmenin üzerine bir ortalama daha ekler.
- **Yatay piyasa:** Fiyat dar bir bantta gidip geldiğinde iki çizgi sık sık kesişir ve ardı ardına geçersiz sinyaller oluşur.
- **Aşırı alım ve satım için uygun değildir:** StockCharts'a göre MACD sınırsız olduğundan aşırı alım ve aşırı satım seviyelerini belirlemede pek yararlı değildir; sert hareketlerde geçmişteki uç değerlerinin ötesine uzayabilir.
- **Fiyat birimine bağlıdır:** MACD bir fiyat farkı olduğundan 500 TL'lik bir hissenin MACD değeri 20 TL'lik bir hissenin değeriyle karşılaştırılamaz. StockCharts bu amaçla farkı yüzde olarak ifade eden Percentage Price Oscillator'ı (PPO) önerir.
- **Düzeltilmemiş veri:** Fiyat serisi [bedelsiz sermaye artırımı](https://fincodelabs.com/blog/bedelsiz-sermaye-artirimi-nedir) veya temettü için düzeltilmemişse, hak kullanım günündeki teorik fiyat düşüşü, yatırımcı için bir değer kaybı olmadığı halde MACD'de sert bir düşüş gibi görünür ve etkisi üssel ortalamalarda uzun süre izlenir.

Bu nedenlerle MACD çoğunlukla farklı türden bilgi veren araçlarla birlikte değerlendirilir; örneğin oynaklığı ölçen [Bollinger bantları](https://fincodelabs.com/blog/bollinger-bantlari-nedir) ya da hacim. Birlikte kullanılan göstergeler aynı kapanış serisinden türetiliyorsa bu, birbirinden bağımsız iki teyit anlamına gelmez.

## Pine Script'te ta.macd nasıl kullanılır?

Ekim 2026 itibarıyla TradingView'ın güncel Pine Script sürümü v6'dır. Referans kılavuzuna göre `ta.macd(source, fastlen, slowlen, siglen)` fonksiyonu üç seriden oluşan bir demet (tuple) döndürür: MACD çizgisi, sinyal çizgisi ve histogram. Uzunluk parametreleri "simple int" türündedir; bir girdiyle (`input.int()`) belirlenebilir, ancak çubuktan çubuğa değişen bir değer alamaz. Pine Script kılavuzundaki giriş örneği, `ta.macd()` ile yapılan hesabın `ta.ema()` ile açık yazılmış hesapla aynı olduğunu gösterir. Dilin temelleri [Pine Script nedir](https://fincodelabs.com/blog/pine-script-nedir) yazısında anlatılıyor.

```pine
//@version=6
indicator("Varsayımsal MACD örneği")
hizli = input.int(12, "Hızlı EMA uzunluğu", minval = 1)
yavas = input.int(26, "Yavaş EMA uzunluğu", minval = 1)
sinyal = input.int(9, "Sinyal uzunluğu", minval = 1)

[macdCizgisi, sinyalCizgisi, histogram] = ta.macd(close, hizli, yavas, sinyal)

// Aynı MACD çizgisinin ta.ema ile açık yazılmış hali
macdElle = ta.ema(close, hizli) - ta.ema(close, yavas)

plot(histogram, "Histogram", histogram >= 0 ? color.teal : color.red, style = plot.style_columns)
plot(macdCizgisi, "MACD", color.blue)
plot(sinyalCizgisi, "Sinyal", color.orange)
plot(macdElle, "MACD (ta.ema ile)", display = display.data_window)
hline(0, "Sıfır çizgisi", color.gray)

yukariKesisim = ta.crossover(macdCizgisi, sinyalCizgisi)
asagiKesisim = ta.crossunder(macdCizgisi, sinyalCizgisi)
plotshape(yukariKesisim, "Yukarı kesişim", shape.triangleup, location.bottom, color.teal)
plotshape(asagiKesisim, "Aşağı kesişim", shape.triangledown, location.top, color.red)
alertcondition(asagiKesisim, "MACD aşağı kesişim", "{{ticker}}: MACD sinyal çizgisinin altına indi")
```

Demetin yalnızca bir elemanı gerekiyorsa diğerlerinin yerine alt çizgi yazılabilir: `[_, sinyalCizgisi, _] = ta.macd(close, 12, 26, 9)`. `ta.crossover()`, birinci seri o çubukta ikinciden büyükse ve bir önceki çubukta ondan küçük ya da ona eşitse `true` döndürür. Kapanmamış canlı çubukta oluşan bir kesişim çubuk kapanırken kaybolabileceğinden, alarm kurulurken çubuk kapanışında tetiklenme seçeneğini kullanmak geçmiş grafikle canlı davranışı birbirine yaklaştırır. Alarmın [webhook](https://fincodelabs.com/blog/tradingview-webhook-nedir) ile bir sisteme iletilmesi ayrı bir adımdır. Kod yalnızca hesaplamayı göstermek içindir, bir işlem kuralı değildir.

## MACD kuralı backtest ile nasıl sınanır?

"MACD sinyal çizgisini yukarı kesince al, aşağı kesince sat" gibi bir kuralın geçmişte ne sonuç verdiği, `strategy()` bildirimiyle yazılmış bir scriptle TradingView'ın broker emülatöründe simüle edilebilir. Aşağıdaki varsayımsal örnekte işlem büyüklüğü sermayenin %10'u, komisyon %0,1 ve kayma 2 tick olarak varsayılmıştır:

```pine
//@version=6
strategy("Varsayımsal MACD kesişim testi", overlay = true,
     initial_capital = 100000, default_qty_type = strategy.percent_of_equity,
     default_qty_value = 10, commission_type = strategy.commission.percent,
     commission_value = 0.1, slippage = 2)

[macdCizgisi, sinyalCizgisi, _] = ta.macd(close, 12, 26, 9)

if ta.crossover(macdCizgisi, sinyalCizgisi)
    strategy.entry("Uzun", strategy.long)
if ta.crossunder(macdCizgisi, sinyalCizgisi)
    strategy.close("Uzun")
```

Pine Script kılavuzuna göre komisyon belirtilmezse dolan emirlere hiç komisyon uygulanmaz; referansa göre `slippage` parametresi ise piyasa ve stop emirlerinin gerçekleşme fiyatını sabit sayıda tick kadar strateji aleyhine kaydırır. Varsayılan ayarlarda bir piyasa emri, sinyalin oluştuğu çubuk kapandıktan sonra bir sonraki çubuğun açılışından gerçekleşmiş sayılır. Maliyetsiz bir test, özellikle sık kesişim üreten kısa zaman dilimlerinde sonucu olduğundan iyi gösterir.

İkinci tuzak parametre taramasıdır. 12-26-9 yerine onlarca kombinasyon deneyip geçmişte en iyi sonucu vereni seçmek, o dönemin rastlantılarına uyum sağlar. Sullivan, Timmermann ve White'ın Journal of Finance'te 1999'da yayımlanan çalışması, hareketli ortalama, filtre ve kanal kırılımı gibi 7.846 teknik kuralı Dow Jones endeksinin 1897–1996 dönemine ait günlük verisinde, bu veri madenciliği yanlılığını hesaba katarak sınadı. 1986'ya kadarki dönemde bazı kurallar düzeltmeden sonra da üstün göründü; ancak 1986 sonu itibarıyla en iyi kural, sonraki on yılda (1987–1996) bu üstünlüğünü tekrarlayamadı.

Verinin bir bölümünü hiç kullanmadan test için ayırmak ve sonucun komşu parametrelerde de benzer olup olmadığına bakmak bu riski azaltır; diğer hatalar [backtest nedir](https://fincodelabs.com/blog/backtest-nedir) yazısında ele alınıyor. Bu yazıdaki tüm örnekler varsayımsaldır ve bir al-sat önerisi değildir.

## Sık sorulan sorular

### MACD ayarları kaç olmalı?

En yaygın ve TradingView'daki varsayılan ayar 12, 26 ve 9'dur. Evrensel olarak doğru bir değer yoktur; kısa uzunluklar daha fazla ve daha gürültülü sinyal üretir, geçmişte en iyi sonucu veren ayarı aramak ise aşırı uyum riskini artırır.

### MACD'nin sıfırın üzerinde olması ne demek?

Hızlı EMA'nın yavaş EMA'nın üzerinde olduğu anlamına gelir. Bu durum ortalama yukarı yönlü momentuma işaret eder, ancak fiyatın yükselmeye devam edeceğini göstermez.

### MACD histogramı neyi gösterir?

MACD çizgisi ile sinyal çizgisi arasındaki farkı gösterir. Histogram küçülürken iki çizgi birbirine yaklaşır; sıfırı geçtiği çubukta sinyal çizgisi kesişimi gerçekleşir.

### MACD ile RSI arasındaki fark nedir?

RSI ortalama kazancı ortalama kayba oranlar ve 0 ile 100 arasında kalır. MACD iki hareketli ortalamanın farkıdır, sabit bir sınırı yoktur ve değeri fiyat birimiyle ifade edilir; bu yüzden aşırı alım ve satım ölçmek için uygun değildir.

### MACD tek başına al-sat sinyali verir mi?

Hayır. MACD geçmiş fiyatların matematiksel bir dönüşümüdür ve gecikmelidir. Kesişim ve uyumsuzluk yorumları olasılık bildirir; bir kuralın işe yarayıp yaramadığı ancak maliyetler dahil edilerek yapılan ve veri dışı dönemde doğrulanan testlerle değerlendirilebilir.

## Kaynaklar

- [TradingView: Pine Script v6 Reference Manual (ta.macd, ta.ema, ta.crossover, strategy)](https://www.tradingview.com/pine-script-reference/v6/)
- [TradingView: Pine Script v6 User Manual, First indicator (MACD örneği)](https://www.tradingview.com/pine-script-docs/primer/first-indicator/)
- [TradingView: Pine Script v6 User Manual, Strategies (komisyon ve kayma)](https://www.tradingview.com/pine-script-docs/concepts/strategies/)
- [TradingView Help Center: Moving average convergence divergence (MACD) indicator](https://www.tradingview.com/support/solutions/43000502344-moving-average-convergence-divergence-macd-indicator/)
- [TradingView Help Center: MACD Strategy](https://www.tradingview.com/support/solutions/43000644943-macd-strategy/)
- [TradingView Help Center: Moving Averages](https://www.tradingview.com/support/solutions/43000502589-moving-averages/)
- [StockCharts ChartSchool: MACD (Moving Average Convergence/Divergence Oscillator)](https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-indicators/macd-moving-average-convergence-divergence-oscillator)
- [Gerald Appel: Technical Analysis: Power Tools for Active Investors, FT Press, 2005 (yayıncı sayfası)](https://www.informit.com/store/technical-analysis-power-tools-for-active-investors-9780131479029)
- [Sullivan, Timmermann ve White: Data-Snooping, Technical Trading Rule Performance, and the Bootstrap (LSE FMG Discussion Paper 303; Journal of Finance 54(5), 1999)](https://www.fmg.ac.uk/sites/default/files/2020-11/dp303.pdf)

> Burada yer alan yatırım bilgi, yorum ve tavsiyeleri yatırım danışmanlığı kapsamında değildir. Yatırım danışmanlığı hizmeti, yetkili kuruluşlar tarafından kişilerin risk ve getiri tercihleri dikkate alınarak kişiye özel sunulmaktadır. Burada yer alan yorum ve tavsiyeler ise genel niteliktedir. Bu tavsiyeler mali durumunuz ile risk ve getiri tercihlerinize uygun olmayabilir. Bu nedenle, sadece burada yer alan bilgilere dayanılarak yatırım kararı verilmesi beklentilerinize uygun sonuçlar doğurmayabilir.

---

Bu sayfa, İstanbul merkezli yazılım şirketi Fincode (Fincode Yazılım ve Teknoloji A.Ş.) tarafından yayımlanmıştır: https://fincodelabs.com/blog/macd-nedir

Kaynak gösterimi: Fincode, "MACD nedir, nasıl hesaplanır ve yorumlanır?", güncelleme 18 Ekim 2026, https://fincodelabs.com/blog/macd-nedir
