Bu makalede
Bu makaleyi okuduktan sonra…
- Toplam geçiş sayısını zorunlu kategori sonucundan ayırabilirsiniz.
- Test gözleminin yeni sürümde geliştirme verisine dönüştüğünü kaydedebilirsiniz.
- TRY ücret sürümü değişince aynı miktarın risk kararının neden değiştiğini hesaplayabilirsiniz.
Kavramları makaleden ayrılmadan öğrenin
Backtesting — geçmiş veriyle strateji testi İşlem planı Emir gerçekleşmesi Özkaynak — equity Likidite Pozisyon büyüklüğüBacktest, strateji değerlendirmesinin bir aşamasıdır. Önce kuralları tanımlayın, geçmişi denetleyin, geliştirmeyi değerlendirmeden ayırın; sonra demo veya emirsiz gözlemle operasyonu inceleyin. Gerekçelendirilmiş, sınırlı gerçek hesap çalışması ayrı karardır ve zorunlu son durak değildir. Bu aşamaları geçmek hesabın hayatta kalmasını veya tekrarlanabilir getiriyi garanti etmez.
Tek backtest neden süreç değildir?
Program doğruluğu, veri kalitesi, tarihsel performans ve hesapta işleyiş farklı sorulara cevap verir. Kod, zarar eden fikri kusursuz uygulayabilir; kârlı rapor hatalı koddan da çıkabilir. Sürümlü kanıt kartına soruyu, beklenen durumu, gözlenen sonucu ve çözülememiş sınırı yazın. Başarılı giriş, kayıp, sinyal yokluğu, onaylı ret ve yeniden başlatma vakalarını ekleyin. Kanıt eksikse “kontrol edilmedi” deyin. 300 kombinasyondan seçilmiş temsili %30 getiri seçilimi araştırma nedenidir; üstünlük kanıtı değildir. Doğru backtest yöntemi bu ayrımı temellendirir.
Toplam %98, gerekli ret kategorisini geçirmez
Her sonucun yanına vaka türünü yazın; toplam yüzde önemli bir durumun hiç sınanmadığını veya yanlış ele alındığını gizleyebilir.
Kaynak model tam 100 temsili işlev vakası içerir; beklenen durumlar testten önce tanımlanmıştır. Gerçek fiyat veya hesap yoktur. 98 normal vakanın hepsi geçer; onaylı ret olan iki vakanın ikisi de reddi, gerçekleşme olmuş gibi göstermeden kaydetme ölçütünü sağlayamaz.
Toplam 98/100 = %98, fakat ret kategorisi 0/2 = %0’dır. İki kategori de zorunlu olduğundan kontrol açık kalır. Ret işleyişini düzeltip ilgili vakaları ve normal işleyişin bozulmadığını yeniden sınayın. Her çerçeve kendi kategorisinin %100’üdür; alanları 98 ve 2 vaka büyüklüğünü karşılaştırmaz.
Bu hazırlanan liste bir piyasa arızası olasılığı, kurum kalitesi veya gelecek kâr ölçümü değildir. Cevap gelmeyen ağ isteği burada “ret” sayılmaz: iki vakada ret durumu zaten onaylanmıştır. Bilinmeyeni ret diye etiketlemek farklı bir hatadır.
Yazılı kurallar: yorum boşluğunu kapatın
Giriş, çıkış, stop, hedef ve büyüklük yeniden üretilebilir olmalıdır. Temsili aday EMA(50), EMA(200), RSI(14), yirmi dönemlik ortalama, 1,5 ATR(14) stop, 2,5 ATR hedef ve %1 planlı risk kullansın. Bu liste hâlâ tam strateji değildir. Tam mum zamanı, “dokunma” tanımı, gerçekleşebilir fiyat tarafı ve eşzamanlı çıkış şartında öncelik gerekir. Yalnız sayıları bir program ekranına yazmak yorum farkını ortadan kaldırmaz.
Veri penceresini araştırma sorusuna bağlayın
Sabit yıl kuralı yerine stratejiye ve erişilebilir ürün verisine uygun geçmiş seçin. Sağlayıcı, ürün, saat dilimi, fiyat tarafları, boşluklar, kod sürümü, girdiler ve gerçekleşme varsayımını kaydedin. Verinin kendisini veya doğrulanabilir kimliğini; işlem ve günlükleri arşivleyin. MT5 gerçek tikleri ile üretilmiş ikameleri ayırın. Geçmiş, derleme veya hesap ayarı değişmesi strateji değişmeden raporu değiştirebilir. İşlem sayısı tek başına bağımsız kanıt oluşturmaz.
Geliştirme ve örnek dışı bloğu ayırın
Kronolojik geliştirme/değerlendirme ayrımını önceden tanımlayın. 70/30 yalnız temsili tasarımdır. Zayıf örnek dışı sonuç seçilim kadar örnekleme, maliyet veya koşul farkını da yansıtabilir. Testi kural seçimine kapalı tutun. Sürüm 1.0, 2024–2025’te sınansın; pazartesi kayıpları görülünce sürüm 1.1’e pazartesi yasağı eklensin. Aynı 2024–2025’i tekrar çalıştırmak yeni sürüm için geliştirme kanıtıdır. İki raporu ve değişiklik nedenini saklayın; döneme yeni ad vermek bağımsızlığı geri getirmez.
İlerleyen pencere ayrı kontrol sağlar
Temsili walk-forward önce 2018–2021’de seçim, 2022’de test; sonra 2019–2022’de seçim, 2023’te test yapsın. Gelecek bilgiyi kullanmadan seçilen yuvarlanan prosedürü uygulayın. Beş–yedi döngü bir tasarım seçimidir. WFE adını verdiğiniz ölçüyü ve paydasını tanımlayın; 0,5–0,75 veya 0,3 altı evrensel hüküm değildir. Walk-forward yönteminde her pencerenin seçimi dondurulur. Sonuç sonraki sürümü değiştiriyorsa bunu araştırma günlüğünde gösterin; aynı pencereyi dokunulmamış kanıt gibi sunmayın.
Gerçek zamanlı işleyiş ve isteğe bağlı canlı inceleme
Demo veya emir vermeden gözlem; sinyal zamanı, izinler, yanıtlar ve yeniden başlatmayı gerçek zamanda kontrol edebilir. Fikir kimliği, istenen miktar, dolumlar ve aktif emirler kaydedilir. MT5 testerındaki Forward seçeneği tarihsel aralığın sonraki bölümünü değerlendirir; demo hesabında gelecekteki kotasyonları gözlemekle aynı değildir. Geçen aylar hiç oluşmayan nadir hata yolunu sınamaz. Demo dolumları gerçek hesabı aynen üretmeyebilir.
Kaynak yeniden başlatma modelinde alış hedefi 0,20 lot, bağlantı kesilmeden dolan 0,08; eski kalan emir daha sonra iptal edildiği onaylanmış olsun. Bu fikir için başka pozisyon veya emir yok. Yeniden 0,20 göndermek toplamı 0,28’e taşır: hedef üstü 0,08 veya %40. Yalnız fark 0,20 − 0,08 = 0,12 dolarsa toplam 0,20 olur. İptal bilinmiyorsa eski kalan da dolabilir; önce durumu uzlaştırın. Bu, tanımlı tek arıza yolunu kontrol eder; bütün sistemin güvenilirlik kanıtı değildir.
Canlı inceleme gerekçelendirilirse gerçek sözleşme boyutu ve maruziyeti yazın. “Mikro lot” hedefinizin otomatik onda biri değildir. Üç–altı ay gözlem açıklayıcı bir süredir, yeterlilik hakkı değildir. Maliyet ve gerçekleşmeyi modelle karşılaştırıp artış düşünmeden farkı kaydedin. Aşamaların benzemesi piyasa riskini yok etmez.
Yeni TRY kartı: doğru sinyal, yanlış maliyet sürümü
Ayrı kâğıt modelinde sermaye 22.000 TRY, seçilmiş planlı risk bütçesi %1 = 220 TRY olsun. Tam 1.000 EUR alış için atanmış giriş 40,20 TRY/EUR, planlanan stop fiyatı 40,00; açılış ve kapanış toplam iki emir. V1 hayalî tarifesi emir başına 5 TRY: fiyat kaybı 200, ücret 10, toplam plan 210 TRY. V2 tarifesi emir başına 20 TRY’ye değişsin: aynı miktar ve fiyatlarda plan 240 TRY’dir. Bütçe kapısı V1’i kabul, V2’de 1.000 EUR’yu ret olarak beklemelidir. Aynı sinyalin bulunması bu kontrolü kapatmaz.
V2 için miktarı 100 EUR adımlarla seçen ayrı kuralın üst sınırı (220 − 40)/0,20 = 900 EUR’dur; plan 180 + 40 = 220 TRY. Sonraki adım 1.000’de 240 olur. Bunlar varsayımsal ücret ve büyüklük kurallarıdır, gerçek kurum tarifesi değildir. 900 EUR’nun çıkışı stop yerine 39,99’da varsayılırsa toplam kayıp 189 + 40 = 229 TRY olur. Planlı bütçe gerçekleşmiş kayıp tavanı değildir; stop fiyatı garanti edilmemiştir.
Fiyat/sinyal doğruluğu güncel maliyet ve risk kontrolünün yerini tutmaz; planlı tutarı garantili zarar tavanı saymayın.
Küçük ekranda şemayı yatay kaydırabilir veya büyütebilirsiniz. Değerler ve sonuç aşağıdaki metinde de yer alır.
- V1 / 1.000 EUR
- 200 + 10 = 210 TRY – Atanmış 220 TRY planlı bütçesi içinde.
- V2 / 1.000 EUR
- 200 + 40 = 240 TRY – Aynı sinyal ve miktar; bütçe kapısında ret gerekir.
- V2 / 900 EUR
- 180 + 40 = 220 TRY – 100 EUR adımlı ayrı kuralda üst miktar. 39,99 çıkışta kayıp 229 TRY olur.
Kanıt kartına hem tarife sürümünü hem beklenen kararı yazın. V1 ile geçen miktar hesabını V2 koşullarında tekrar kontrol edilmeden “tamam” saymayın. Doğru yazılmış kod, güncelliğini yitirmiş girdiyle araştırma sorunuzdan farklı işlem yapabilir. Farkı bulmak kâr tahmini üretmez; hangi kontrolün yeniden açılacağını belirler.
Açıklayıcı breakout değerlendirmesi
Bu bölümün sayıları atanmıştır, gözlenmiş sonuç değildir. EUR/USD M30 adayı girişte önceki yirmi mumun yükseğini, çıkışta önceki on mumun düşüğünü kullansın; kesin emir zamanı ve dolum kuralları hâlâ gerekir. Geliştirme 2014–2020, değerlendirme 2021–2023. Optimizasyonun 23/11 mum ve 1,4 ATR stop seçtiğini varsayın. Atanmış IS kazanma oranı %58, kâr faktörü 1,72, yıllıklandırılmış getiri %22; OOS için aynı sırayla %54, 1,51 ve %18 olsun.
Bu toplamlar işlem dizisini veya düşüşü yeniden kurmaz. Sonraki demo senaryosu yarım pip ek gerçekleşme maliyeti, isteğe bağlı canlı senaryo %51 kazanma oranı atasın. Bu özetlerin hiçbiri sonraki aşamayı doğrulamaz veya pozisyon büyüklüğünü belirlemez. Kaydedilmiş sinyal, ödeme, maliyet ve belirsizliği karşılaştırın; oran benzerliğinden ölçek artırma izni çıkarmayın.
Uygulanabilir başlangıç planı
- Kuralları düz metinde kesinleştirin: parametre, stop formülü, bilgi zamanı ve özkaynağa göre büyüklük hesabı. Aynı belgeyi okuyan başka kişi aynı tanımlı kararları üretebilsin.
- Ürünün zaman damgalarını, eksik dönemlerini, tik kökenini ve sözleşme değişimini denetleyin. Örneklemin hangi koşulları kapsadığını ve kapsamadığını yazın.
- Kronolojik ayrımı, ölçüyü ve walk-forward tasarımını önceden tanımlayın. 70/30 ve beş–yedi döngü örnektir; parametrede %50 değişim veya WFE 0,5 altı tek başına evrensel tanı değildir.
- Demo iş akışını dondurulmuş kurallarla sınayın. Canlı inceleme olursa planlı maruziyeti sınırlandırıp maliyet/gerçekleşmeyi karşılaştırın. Üç–altı ay ve Monte Carlo büyütmeye hazır oluşu garanti etmez.
- Maliyet, düşüş ve belirsizliği getiriyle beraber okuyun. Her aşamada %12, IS %30/OOS %8’den otomatik daha güvenli değildir. Üstünlük hipotezini tutarsızlıkları açıklamak için inceleyin.
Anladığınızı kontrol edin
Alıştırma: yaklaşık 2 dakika.
Yanıtı ve açıklamayı göster
Toplam doğrudur, fakat ayrı zorunlu kategorideki 0/2’nin yerini tutmaz.
Diğer sorular
Bu süreç tek backtestten nasıl farklı?
Fikirden canlı mikro lota ne kadar sürer?
Aşamalarda hangi ölçüleri karşılaştırmalıyım?
Bütün aşamaları geçmek canlı kazancı garanti eder mi?
TRY kartında V2’de 1.000 EUR neden reddedilir?
Kaynaklar ve doğrulama
- MetaQuotes — Strategy Testing
Tarihsel Forward seçeneği ile test/optimizasyon ayrımı.
- MQL5 — OrderSend
İstek kabulü, gerçekleşme ve çoklu işlem olayları ayrımı.
- scikit-learn — veri sızıntısı
Test gözlemlerini model seçimine katmamak; yalnız eğitimde fit.
- scikit-learn — TimeSeriesSplit
Kronolojik eğitim/test dizinleri ve örnek boşluğu; başarı kanıtı değil.
Hesaplamalar açıkça belirtilen varsayımlara dayanır. Güncel piyasa verilerinin veya sağlayıcının koşullarının yerini almaz.
