Backtest Robustness Checker
- Göstergeler
- Sürüm: 1.1
- Etkinleştirmeler: 5
Backtest Robustness Checker, kapanmış işlemlerinizin listesini okuyan ve aynı işlemler farklı bir sırayla geldiğinde, bazı işlemler eksik olduğunda veya en büyük kazançlar çıkarıldığında istatistiklerin nasıl değiştiğini gösteren bir MetaTrader 5 göstergesidir. İşlemler hesap geçmişinizden, HTML olarak kaydedilmiş bir Strateji Test Cihazı veya hesap raporundan ya da basit bir CSV dosyasından alınabilir. Sonuçlar grafikteki bir panelde gösterilir ve CSV olarak kaydedilebilir.
Yalnızca geçmiş işlemlerin istatistiklerini gösterir. Gelecekteki sonuçları tahmin etmez veya garanti etmez, bir stratejinin veya EA'nın iyi, kârlı ya da "sağlam" olup olmadığını söylemez ve "geçti / kaldı" kararı vermez. "Maksimum düşüşün 95. yüzdeliği" gibi bir Monte Carlo değeri, geçmiş işlemlerinizin karıştırılmış kopyalarını tanımlar; gelecekteki bir düşüşün olasılığı değildir. Sayıları nasıl kullanacağınız sizin kararınızdır.
Yalnızca okur: hiçbir zaman emir açmaz, değiştirmez veya kapatmaz ve alım ya da satım sinyali vermez. Strateji Test Cihazında (ve Market'in otomatik kontrolünde) size ait işlem yoktur; bu nedenle yerleşik ÖRNEK VERİLERİ (SAMPLE DATA) gösterir ve turuncu renkte "not real" (gerçek değil) olarak işaretler.
Özellikler
- Üç veri kaynağı: hesap geçmişi (sihirli numaralar, semboller ve kapanış tarihine göre filtre), MQL5\Files içindeki bir dosya (HTML olarak kaydedilmiş bir MT5 raporu veya bir CSV) ya da 400 demo işlemden oluşan yerleşik örnek.
- Orijinal sıra: işlem sayısı, net kâr, kâr faktörü, kazanma oranı, işlem başına ortalama kâr/zarar, maksimum düşüş (tutar ve %), art arda en fazla zarar, zirvenin altında kalınan en uzun süre (işlem sayısı olarak).
- Karıştırılmış işlem sırası (Monte Carlo): aynı işlemler rastgele sırayla, tekrar tekrar (varsayılan 1.000 kez). Maksimum düşüş, maksimum düşüş %, art arda en fazla zarar ve zirvenin altındaki en uzun süre için minimum, %5, %25, %50, %75, %95 ve maksimum; düşüşü orijinal kadar veya daha büyük olan karıştırmaların payı; belirlediğiniz düşüş %'sinin üzerindeki pay; bir histogram.
- Rastgele işlem çıkarma: her çalıştırma her işlemi belirlediğiniz olasılıkla (varsayılan %10) çıkarır ve kalanları orijinal sırada tutar. Net kâr, kâr faktörü, maksimum düşüş ve kalan işlemlerin yüzdelikleri, net kârı <= 0 olan çalıştırmaların payı ve bir histogram.
- En büyük kazançları çıkarma: en büyük K kazançlı işlem (varsayılan 5) olmadan net kâr, kâr faktörü ve maksimum düşüş.
- Yıllık tablo (işlemler, kazanma %, net, PF, yıl içindeki maks. düşüş, en uzun zarar serisi, ortalama) ve aylık net kâr tablosu, kapanış zamanına göre. Uzun tablolar sayfalara bölünür.
- CSV dışa aktarma (düğme): ayarlar, tüm istatistikler, yüzdelikler, yıllık ve aylık tablolar, işlem listesi ve isteğe bağlı olarak her simülasyon için bir satır. MQL5\Files içine kaydedilir.
- Sabit rastgele tohum: aynı veri, ayarlar ve tohum her zaman aynı sonucu verir.
- Panel İngilizce veya Japonca (terminal diline göre otomatik), grafik arka planına göre açık veya koyu renkler, herhangi bir köşe, üç boyut, daraltılabilir. Bir grafikteki birden fazla kopya alt alta dizilir.
Ana Girdiler
- Trades to analyze: veri kaynağı; hesap: sihirli numaralar, semboller, kapanış başlangıcı / bitişi, komisyon, ücret ve swap dahil; dosya: MQL5\Files içindeki ad, ortak Files klasöründen oku; düşüş % için başlangıç bakiyesi (0 = otomatik).
- Simulation: simülasyon sayısı (10-100000, varsayılan 1000), rastgele tohum (varsayılan 12345), çıkarılan işlem payı (%1-90, varsayılan 10), çıkarılan en büyük kazanç sayısı (0-1000, varsayılan 5), maks. düşüşü bu %'yi aşan simülasyonları say (varsayılan 20, 0 = kapalı).
- Panel: ilk gösterilen sayfa, sayfa başına satır, dil, köşe, kaydırmalar, boyut, renkler, daraltılmış başla, CSV düğmesi, simülasyon başına bir satırlı CSV, yeni işlemler kapanınca yeniden hesapla.
- 4 grupta 27 girdi.
Nasıl Hesaplanır
- Bir işlemin sonucu = kâr + komisyon ve ücretler + swap (hesap geçmişinde maliyetler hariç tutulabilir). Bir işlem, sıfırdan en küçük para biriminin yarısından fazla uzaksa kazanç veya zarardır (dosyalar ve örnek için: 0,005), aksi halde başa baştır. Kâr faktörü = brüt kâr / brüt zarar.
- Bakiye eğrisi = başlangıç bakiyesi + kapanış sırasına göre işlemlerin kümülatif sonucu. Maksimum düşüş = önceki bir zirveden en büyük düşüş; maksimum düşüş % = bu düşüşün zirvedeki bakiyeye bölümü. Açık pozisyonlar ve yüzen kâr/zarar dahil değildir.
- Başlangıç bakiyesi (otomatik): hesap geçmişi = seçilen ilk işlem kapanmadan hemen önceki hesap bakiyesi; HTML = ilk işlemden önceki balance satırları; örnek = 10.000. İlk işlemden sonraki para yatırma ve çekme işlemleri eğriye eklenmez, bu nedenle düşüş %'sinin paydasına dahil değildir. "Starting balance for DD %" girdisi otomatik değerin yerine geçer.
- Hesap geçmişi: bir işlem = bir pozisyon (kısmi kapanışlar aynı işleme aittir, iki pozisyonun Close By'ı tek işlemdir, netting hesabındaki yön değişimi ikiye bölünür).
- HTML raporu: bir işlem = Deals tablosundaki bir kapanış işlemi (out, in/out, out by). Her kısmi kapanış ayrı bir işlem olarak sayılır; bu nedenle işlem sayısı, kazanma oranı ve PF aynı işlemlerin hesap geçmişinden biraz farklı olabilir. Raporda pozisyon kimliği yoktur; bu nedenle her kapanış işlemi bir kurala göre açık hacimle eşleştirilir (aynı sembol, ters yön; kalan hacmi tam olarak aynı olan en eski açılış işlemi, yoksa ilk giren ilk çıkar). Farklı hacimlerde hedge pozisyonlar olduğunda bu eşleştirme bir tahmindir; her işleme verilen açılış komisyonu ve swap payı da tahmindir. Toplamlar kesindir.
- CSV: işlem başına bir satır, "zaman,kâr" (virgül, noktalı virgül veya sekme; zaman YYYY.MM.DD HH:MM veya YYYY.MM.DD HH:MM:SS biçiminde, "-" veya "/" da kabul edilir) ya da tek bir kâr sütunu (bu durumda yıllık veya aylık tablo yoktur). Ondalık ayırıcı yalnızca ".", binlik ayırıcı yok. Satırlar dosyadaki sırayla kullanılır. Okunamayan ilk satır başlık sayılır; okunamayan diğer satırlar atlanan satır olarak sayılır; # ile başlayan satırlar yok sayılır. CSV'de bakiye yoktur: düşüş %'sini görmek için başlangıç bakiyesini girdilerde belirleyin.
- Başlangıç bakiyesi bilinmiyorsa panel "unknown" (bilinmiyor) gösterir ve düşüş % değerleri hesaplanmaz. Tutarlar yine gösterilir.
- Karıştırma: her seferinde orijinal sıradan Fisher-Yates. Çıkarma: işlem başına bir rastgele sayı. Rastgele sayılar: tohumdan splitmix64 (çıkarma tohum + 1 kullanır). Yüzdelikler: doğrusal enterpolasyon.
- Hesaplama sınırı: simülasyon x işlem sayısı, her simülasyon türü için en fazla 100 milyon tutulur. Bunun üzerinde simülasyon sayısı otomatik olarak azaltılır (en az 10) ve panel bunu belirtir. Örneğin 50.000 işlem 2.000 simülasyonla çalıştırılır. Büyük hesaplamalar bir ilerleme satırıyla adım adım yapılır, böylece grafik donmaz.
Notlar ve Sınırlar
- Yalnızca geçmiş işlemlerin istatistikleridir. Tahmin, garanti, bir stratejinin "geçti / kaldı" testi, işlem sinyali veya tavsiye değildir.
- Karıştırma ve çıkarma her işlemi diğer işlemlere bağlı olmayan sabit bir tutar olarak ele alır. İşlemlerin birbirine veya bakiyeye bağlı olduğu sistemlerde (örneğin grid, martingale, maliyet düşürme veya bakiyeyle büyüyen lot büyüklüğü), simülasyon sonuçları böyle bir sistemin gerçekte yapabileceğinden çok farklı olabilir.
- Bir backtest sonucu test ayarlarına bağlıdır (dönem, sembol, spread, komisyon, tik modeli). Bu araç yalnızca verdiğiniz sonucu okur ve testin nasıl yapıldığını kontrol etmez.
- .xlsx (Open XML / Excel) raporları okunamaz. Raporu HTML olarak kaydedin veya CSV kullanın. 64 MB'tan büyük dosyalar okunmaz ve en fazla 2.000.000 işlem kullanılır.
- Yalnızca MQL5\Files (veya ortak Files klasörü) içindeki dosyalar okunabilir. Dosya adında ".." veya ":" bulunmamalıdır.
- MT5'in varsayılan rapor adları hesap numarasını içerir (örneğin ReportTester-12345678.html). Panel ve dışa aktarılan CSV dosya adını gösterir; bu nedenle ekran görüntüsü almadan veya CSV'yi paylaşmadan önce dosyanın adını değiştirin.
- Yıllık ve aylık tablolar, verilerde yazılı olan kapanış zamanını kullanır (MT5 raporları ve geçmişi için sunucu zamanı).
- Strateji Test Cihazında "Account history" kaynağında size ait işlem yoktur; bu nedenle ÖRNEK VERİLER gösterilir ve CSV düğmesi gizlenir. Kendi verileriniz için normal bir grafikte kullanın.
Uyumluluk ve Destek
- Yalnızca MetaTrader 5. Hedging ve netting hesapları, her sembol ve zaman dilimi (grafiğin sembolü önemli değildir).
- DLL yok, internet erişimi yok. Yalnızca CSV düğmesine bastığınızda dosya yazar.
- MQL5 mesajları üzerinden destek, 3 iş günü içinde yanıt: kurulum, ayarlar, dosya yükleme ve hata bildirimleri. Stratejinizin veya EA'nızın iyi olup olmadığına karar veremez, sonuçlarınızı tavsiye olarak yorumlayamaz, piyasa görüşü veremez veya sizin yerinize işlem kararı alamayız.
- İşlemlerinizin herhangi bir sonucu vaat edilmez veya ima edilmez.
