Ana sayfa / Kârlı backtest gerçek hesabı neden patlatır ve bir ızgara EA…

Kârlı backtest gerçek hesabı neden patlatır ve bir ızgara EA dürüstçe nasıl test edilir

Kârlı bir backtest, test hesabın karşılaşacağından daha kolay bir piyasa gördüğü için gerçek hesabı patlatır: kendi çalışmamızda işlem saatlerinin %19'unu sessizce kaybetmiş bir tik veri seti, aynı depozitoda 3 hesap patlamasını 1'e indirdi; bir saat dilimi kayması zarar ettiren bir fikri 7 çeyreğin 7'sinde kârlı gösterdi; modelin 19 ayda yaklaşık bir patlama olarak değerlendirdiği bir depozito canlıda bir hafta içinde stop-out oldu.

Backtest ve canlı: 19% kendi tik verimizde işlem saatlerinin yüzdesi eksikti
19% kendi tik verimizde işlem saatlerinin yüzdesi eksikti

Araştırmamızdan ve modelimizin geçmiş tikler üzerindeki sonuçlarından çıkan dersler; tahmin değildir, tavsiye değildir. Kaldıraçlı işlem risk taşır: depozito yetersizse stop-out olabilir.

Ayrıca bakın: Altında martingale grid botu için 7 koruma →

Bu sayfada (10)

"Backtest yalan söyledi" gerçekte ne demek?

Backtest, bir uzman danışmanı (EA) geçmiş fiyatlar üzerinde yeniden oynatır ve ne kazanacağını raporlar. Kasıtlı yalan söylemez; kendisine sorulan soruyu tam olarak cevaplar. Gerçek hesap sonradan kaybettiğinde, teste genellikle altı yanlış girdiden biri verilmiştir: eksik fiyatlar, fazla düşük maliyetler, gelecekten bilgi, şanslı bir dönem, o döneme göre uydurulmuş ayarlar ya da EA'dan farklı işlem yapan bir simülatör.

Izgara ya da martingale EA'larda bu fark diğer robotlardan daha geniştir. Izgara sık sık küçük tutarlar kazanır, nadiren ama çok kaybeder; bu yüzden sonucu testin en kötü birkaç saatine bağlıdır. O saatlerden bir avuç çıkarın, backtest hesabın biteceği yerde pürüzsüz bir çizgi gösterir.

Altı neden bir bakışta

NedenTest ne görürHesap ne görürKendi örneğimiz
Tik verisinde boşluklarFiyatı olmayan saatler atlanırSert saatler dahil her saatSaatlerin %19'u kayıp; patlama 3 yerine 1
Maliyetler: spread, kayma, swapSabit küçük spread, swap yokRollover ve haberde geniş spread, her gece swapYalnızca spread yüzünden stop-out olan kilitli hesap
İleriye bakma (look-ahead)Henüz bilinmeyen fiyatlarYalnızca geçmiş5 saatlik saat dilimi kayması: 7 çeyreğin 7'sinde sahte kâr
Seçilmiş ya da hayatta kalan dönemEn iyi görünen dönemSonra ne gelirse80 varyantın en iyisi kısmen şansla iyi görünür
Aşırı uyum (overfitting)Testin kendi yoluna ayarlanmış ayarlarFarklı bir yolBir ayar azıcık oynayınca kaybolan sonuçlar
Model canlı değilSimülatörün kurallarıBrokerın dolumları ve EA'nın zamanlamasıDakikada bir kontrol edilen girişler: derin sepetlerin yarısı

1. Tik verisindeki boşluklar

Ne olur. Tik backtesti, verisi kadar eksiksizdir. Bir saat eksikse EA onun içindeki hareketi hiç görmez: fiyat bir sonraki mevcut tike atlar. Izgara için bu mümkün olan en kötü boşluktur, çünkü sepeti son emre kadar dolduran tam da hızlı, tek yönlü bir saattir.

Kendi dersimiz. İlk altın veri setimizi, birkaç başarısız istekten sonra bir saati sessizce "boş" kaydeden bir indirici derledi. 9 864 saatlik dilimden 1 859'unu, yani sıradan hafta içi saatlerin %19'unu kaybetti; kayıplar tüm seanslara ve her Pazar akşamı açılışına yayılmıştı. Hiçbir şey ters görünmüyordu: equity eğrisi pürüzsüzdü. Eksik saatleri yeniden indirip aynı ayarları tekrar çalıştırdığımızda, denediğimiz her depozito düzeyinde hesap patlaması sayısı arttı:

0.01 lot başına depozitoBoşluklu veride patlamaEksiksiz veride patlama
$500611
$70535
$90013
$1 00012

Modelimiz, yaklaşık 19 aylık XAUUSD tiki, iki sütunda da aynı ızgara ayarları. Önemli olan yön, kesin sayılar değil.

Sizinkini nasıl kontrol edersiniz. Saat başına tik ya da bir dakikalık mum sayısını sayın ve sıfır olan hafta içi saatlere bakın. MT5'te "Every tick based on real ticks" (gerçek tiklere dayalı her tik) modunu kullanın ve tüm dönemin geçmişinin indirildiğini kontrol edin. Daha fazlası: altın EA'sı gerçek tiklerde nasıl backtest edilir.

2. Testin hesaplamadığı maliyetler: spread, kayma, swap

Ne olur. Çoğu backtest sabit ya da geçmişteki ortalama bir spread kullanır ve kayma yoktur. Altında spread günlük rollover'da, Pazar açılışında ve haberlerin çevresinde keskin biçimde açılır. Izgara tam da hızlı piyasada çok emir açar ve her emir o anın spread'ini öder. Swap, rollover'ı geçen her pozisyona uygulanır, üçlü swap gününde üç kat; günlerce açık kalan sepet bunu tüm lotlarına öder.

Kendi dersimiz. Kilitli sepetli (eşit büyüklükte alış ve satış) küçük bir MT5 hesabı "stop-out'tan güvende" görünüyordu, çünkü kilit fiyat hareket ettiğinde kaybetmez. Yine de stop-out oldu: spread açılınca iki bacak birden daha kötü değerlendi ve küçük equity tükendi. O zamandan beri bir kilit için asla "tasfiye yok" yazmıyoruz.

Sizinkini nasıl kontrol edersiniz. Testi daha geniş bir spread ile (örneğin olağan olanın iki katı) yeniden çalıştırın ve sonucun dayanıp dayanmadığına bakın. Komisyon ve swap ile sepet başabaşı yazımız, her maliyetin sepetin çıkışını ne kadar oynattığını gösterir.

3. İleriye bakma: test gelecekteki fiyatları kullandı

Ne olur. İleriye bakma (look-ahead bias), bir stratejinin o anda henüz var olmayan bilgiyle karar vermesidir. Nadiren hile gibi görünür; zaman damgalarında saklanır.

Kendi dersimiz, iki kez.

  1. Bir saat dilimi kayması. Seans sınırları, UTC'de olmayan bir bilgisayarda "naif" bir tarihle (saat dilimsiz) dönüştürüldü; bu yüzden her seans gerçekte olduğundan 5 saat erken bitti. Strateji, henüz bitmemiş bir seansın en yüksek ve en düşük değeriyle işlem yaptı. Lot başına günde yaklaşık +$12 gösterdi, 7 çeyreğin 7'sinde pozitifti ve bir holdout yılını geçti. Hepsi sahteydi. Ele veren iz: 269 işlemin 269'unda sonraki 30 dakika işlem yönünde hareket etti. Gerçek avantajlar asla %100 görünmez.
  2. Bir mum zaman damgası. Bir dakikalık mumlar dakikanın başlangıcıyla etiketlenmişti. Bir mumun kapanışındaki sinyal, aynı mumun ilk tikinde "girilmiş" sayıldı: sinyalin var olmasından 60 saniye önce. Bu, "%84 devam olasılığı" üretti. Girişi bir dakika geri kaydırınca ortadan kayboldu.

Sizinkini nasıl kontrol edersiniz. Altında bir sonuç fazla iyi görünüyorsa, önce girişten hemen sonra fiyatın işlem yönünde kaç kez hareket ettiğini sayın. Sonra her girişi bir mum geciktirin: gerçek bir etki yavaş yavaş zayıflar; ileriye bakma etkisi yok olur.

4. Seçilmiş dönemler ve hayatta kalanlar

Ne olur. Reklamda gösterilen bir backtest, en iyi göründüğü yerde başlar ve biter. 2025'i atlatmış bir ızgara, en kötü saatiyle henüz karşılaşmamış olabilir: verimizde Ocak 2025 – Ekim 2026 arasındaki en geniş 25 altın saatinin 16'sı, tek saatte $314.21'lik düşüş dahil, 28 Ocak – 2 Şubat 2026 arasına düştü. O haftadan önce biten bir test, başka bir testtir.

Hayatta kalan yanlılığı (survivorship) aynı etkinin ürünler arasındaki halidir: hâlâ yaşayan EA'ları ve hesapları görürsünüz. Patlayanların reklamı yapılmaz.

Kendi dersimiz. Bir pencere ve bekleyen emir stratejisi ailesinin 80 varyantını test ettiğimizde en iyisi iyi görünüyordu. Ama 80 arasından en iyisini seçmek başlı başına veriye uydurmadır: avantajının bir kısmı seçilmiş olmanın şansıdır.

Sizinkini nasıl kontrol edersiniz. Seçilmiş bir yılı değil, mevcut tüm geçmişi test edin ve en zor dönemleri bilerek dahil edin: bkz. gerçek tiklerde ızgara EA stres testi.

5. Aşırı uyum: tek bir fiyat yoluna ayarlanmış ayarlar

Ne olur. Aşırı uyum (overfitting), ayarların geçmişe tam oturana kadar düzeltilmesi demektir: en kötü günden tam kurtulan bir adım, felaketten tek emir önce durduran bir emir sınırı. Bir sonraki fiyat yolu farklıdır ve uyum kaybolur.

Belirtiler. Bir ayar azıcık oynayınca sonuç çok değişir; en iyi ayarlar bir plato değil, izole bir tepedir; çok ayar denenir ve yalnızca en iyisi raporlanır; stratejinin kuralları, testteki kötü günlerden fazladır.

Sizinkini nasıl kontrol edersiniz. Her ayarı her yönde bir kademe oynatın. Hesap yalnızca tam o değerde hayatta kalıyorsa bu bir marj değil, bir uyumdur. Kendi araştırmamızda bir ızgarayı komşuluğuna göre değerlendiririz: yardımcı olan bir adım, emir sınırı ya da depozito değişikliği komşu değerlerde de yardımcı olmalıdır.

6. Model canlı EA değildir

Ne olur. Mükemmel veri ve maliyetle bile simülatör, bir emrin ne zaman, hangi fiyattan açılacağına ve EA'nın piyasayı ne sıklıkla kontrol ettiğine karar vermek zorundadır. Buradaki küçük farklar sepetlerin ne kadar derine indiğini değiştirir ve ızgarayı patlatan derinliktir.

Kendi dersimiz. İlk motorumuz girişi dakikada bir, mumun kapanışında kontrol ediyordu; canlı EA ise her tikte kontrol eder. Yalnızca bu, canlı hesaba göre yarı sayıda derin sepet verdi. Motoru EA'yı tik tik izleyecek şekilde yeniden kurduktan sonra, aynı 13 günde 7 ve daha fazla emirli sepetler modelde 69, canlıda 66 oldu. Bu düzeltmeden önce, modelin 19 ayda yaklaşık bir patlama olarak değerlendirdiği 0.01 başına depozito, canlı bir hesapta yaklaşık bir hafta içinde stop-out oldu. Bu yüzden model sayılarına "modelimizde" deriz, asla "güvenli" demeyiz.

Sizinkini nasıl kontrol edersiniz. Birkaç canlı günü, aynı tikler üzerindeki modelle karşılaştırın: sepet sayısı, kaçının 7 ve daha fazla emre ulaştığı ve en derini. Modelde daha az derin sepet varsa, patlama sayısı da iyimserdir.

Bir ızgara EA dürüstçe nasıl test edilir

  1. Tüm geçmiş için eksiksiz gerçek tikler, boş hafta içi saati olmadan. MT5'te: "Every tick based on real ticks".
  2. Gerçekçi maliyetler: brokerınızın rollover dahil spread'i, komisyon, swap; sonra daha geniş bir spread ile ikinci bir çalıştırma.
  3. Sinyalde gelecek yok: kararlar yalnızca kapanmış mumlarda, girişler sinyal zamanından kesinlikle sonra.
  4. Seçilmiş bir yıl değil, tüm geçmiş ve en zor dönemler.
  5. Komşu ayarlar: sonuç bir kademelik değişikliğe dayanmalı.
  6. Önce aritmetik: herhangi bir testten önce, stop-out'a ulaşmak için altının ilk emre karşı ne kadar gitmesi gerektiğini bilin. $1 000, 0.01, ×2, adım $1.95 ve 11 emirle bu $65.58'dir; backtest bu sayıyı büyütemez (ızgara EA'lar altın hesabını neden patlatır).
  7. Aynı broker ve ayarlarla birkaç haftalık ileri demo, aynı günlerde modelle karşılaştırılmış.

Ücretsiz Midas Grid emülatörü, Ocak 2025'ten bu yana gerçek altın tiklerini gün gün yeniden oynatır; böylece 1, 4 ve 5. adımlar dakikalar sürer. Yine de bir modeldir: sabit spread, kayma yok ve geçmiş aynı sırayla tekrarlanmayacak.

SSS

EA'm backtestte çalışıyor ama canlı hesapta neden kaybediyor?

Genellikle test, hesaptan daha kolay bir piyasa görmüştür: eksik tikler, fazla küçük spread, swap yok, gelecekten bilgi, şanslı bir dönem ya da o döneme ayarlanmış ayarlar. Izgara EA için birkaç eksik hızlı saat yeter, çünkü sonuç en kötü saatlere bağlıdır.

MT5'te "Every tick based on real ticks" yeterli mi?

Üretilmiş tiklerin tahminini ortadan kaldırır, ama yalnızca brokerınızın gerçekten sağladığı geçmiş için ve o brokerın spread'iyle. Tüm dönemin indirildiğini ve hafta içi saatlerin boş olmadığını kontrol edin, sonra daha geniş bir spread ile bir çalıştırma ekleyin.

Bir ızgara EA backtesti ne kadar uzun olmalı?

İşlem yaptığınız piyasanın en kötü hareketlerini içerecek kadar uzun. Altın için bu en az Ocak 2025'ten bu yana tüm geçmiş demektir; o dönemin en geniş 25 saatinin 16'sının yaşandığı 28 Ocak – 2 Şubat 2026 dahil. Bunları kaçıran kısa bir test, daha sakin bir piyasayı ölçer.

İleriye bakma (look-ahead bias) tek cümleyle nedir?

Backtestin, karar anında bilinmeyen bir fiyatı kullanmasıdır; genellikle saat dilimi ya da mum zaman damgası hatasıyla olur. Hızlı kontrol: her girişi bir mum geciktirin ve kârın yok olup olmadığına bakın.

İleri demo backtesti yerine geçebilir mi?

Hayır, farklı soruları yanıtlarlar. Birkaç haftalık demo brokerınızın emirleri nasıl doldurduğunu ve maliyetleri nasıl aldığını gösterir; uzun bir backtest ise ayarların, kısa bir demonun muhtemelen karşılaşmayacağı nadir kötü saatlere dayanıp dayanmadığını gösterir. İkisini birlikte, bir de stop-out aritmetiğiyle kullanın.