Bu makalede
Bu makaleyi okuduktan sonra…
- Ask/Bid sonucunu orta fiyat modeliyle uzlaştırıp çift spreadi bulabilirsiniz.
- Emir başı ücreti dolum başı ücret sanmanın TRY sonucunu hesaplayabilirsiniz.
- Değişken etiket gecikmesinde yalnız satır boşluğu bırakmanın neden yetmediğini gösterebilirsiniz.
Kavramları makaleden ayrılmadan öğrenin
Bid ve Ask — satış ve alış fiyatları Spread — alış ve satış fiyatı farkı Backtesting — geçmiş veriyle strateji testi Merkez bankaları Komisyon Zirveden düşüş — drawdownYüksek geçmiş kazanma oranı tek başına üstünlük kanıtı değildir. Geriye dönük test, tanımlı kuralları belirli veri ve gerçekleşme varsayımları altında sınar. Sonucu değerlendirirken önce “hangi bilgiyi ne zaman biliyordum, hangi fiyatla ve hangi miktarla işlem yaptım?” sorularını cevaplayın. Düzgün hesaplanmış tarihsel kazanç bile gelecekte gelir garantisi oluşturmaz.
Geçmişte test yapmak neyi gösterir?
Pozitif tarihsel beklenen değer yalnızca sınanan örneklem hakkında bulgudur. Şans, çok sayıda deneme arasından seçim veya aşırı uyum aynı görüntüyü üretebilir. Verinin bir bölümünü gerçekten ayrı değerlendirmeye ayırmak, maliyet duyarlılığı ve farklı koşullarda kararlılık bu yüzden gereklidir. Amaç güzel bir eğri seçmekten önce çelişki bulmaktır: rapordaki tek bir işlemi kurallarla yeniden oluşturamıyorsanız toplam getiriye geçmeyin.
Kurallar belirsizse test edilen şey değişir
Sembolü, zaman aralığını, sinyal girdilerini, emrin gönderilme zamanını, çıkışları ve büyüklük hesabını yazın. Temsili günlük kural tamamlanan mumun kapanışını önceki mumun yükseğiyle karşılaştırsın. Emir ancak kapanış bilgisi hazır olduktan sonra gönderilebilir. Son kapanışı kullanıp aynı mumun daha önceki açılışından giriş yazmak geleceği kullanır. Zaten pozisyon varken, veri eksikken veya teminat yetmezken ne yapılacağı ayrıca tanımlanmalıdır. Bir gösterge ayarı bu kararların yerine geçmez; fiyat koşulu da gerçekleşme garantisi değildir.
İşlem üstünlüğünü araştırma konusunu bu ayrımla okuyun. Tarihsel test bir fikrin tutarsızlığını gösterebilir; pozitif sonuçta ise maliyet, seçilim ve belirsizlik hâlâ incelenir. Test dosyasına veri sürümünü, kural sürümünü ve sonuçların nasıl üretildiğini ekleyin. Aynı isimde iki dosyanın gerçekten aynı içeriği taşıdığını varsaymayın.
Veri kaynağı ve örneklem büyüklüğü
Döviz vadeli işlemleri, OTC spot ve CFD aynı sözleşme değildir. Merkezi vadeli piyasa verisi perakende spot fikrinin otomatik yerine geçmez. Sağlayıcıyı, ürünü, kotasyon tarafını, saat dilimini ve eksikleri kaydedin. OHLC, aynı mumda hem stop hem hedef görüldüğünde hangisinin önce gerçekleştiğini açıklamaz. Makro seride sonradan düzeltilmiş değeri değil karar anında yayımlanan sürümü kullanın. Sepet seçiminde de o gün erişilebilir enstrüman listesini koruyun.
“100 işlem anlamlılık sağlar” diye evrensel bir eşik yoktur. Dağılım, bağımlılık, etki büyüklüğü, kaç farklı fikir denendiği ve rejim kapsamı birlikte önemlidir. Gözlem sayısını belirsizlikle ve mümkünse etkin örneklem büyüklüğüyle birlikte raporlayın. MT5 belgelerine göre gerçek tik modunda bile tik geçmişi bulunmayan bir dakikanın M1 barından tik üretilebilir. Mod adı tek başına bütünüyle gözlenmiş bir fiyat yolu kanıtı değildir; veri ve test günlüğünü kontrol edin.
Spreadi düşmeden fiyatları uzlaştırın
Ask ile giriş ve Bid ile çıkışı, orta fiyat hesabıyla aynı modelde karşılaştırın.
İki temsili eşzamanlı Bid/Ask kotasyonu: giriş 100/102, çıkış 103/105. Bir keyfî miktar birimi tam bu fiyatlarda gerçekleşmiş kabul edilir; komisyon, finansman, boşluk ve kayma yoktur. Bunlar güncel döviz fiyatları değildir.
Sonuç 103 − 102 = +1. Orta fiyatlar 101 ve 104 olduğundan artış +3; girişte orta fiyatın 1 üstüne, çıkışta 1 altına gidilir: 3 − 1 − 1 = +1. İki tam spreadi, 2 ve 2’yi, orta fiyat değişiminden düşüp −1 bulmak bu gerçekleşmelerle uyuşmaz. Zaten Ask/Bid kullanan +1’den yeniden 2 düşmek de aynı bileşeni iki kez sayar.
Spread, komisyon ve kayma: doğru birimle hesaplayın
Ask giriş ve Bid çıkış fiyat sonucuna spread zaten girmiştir. Bunun üzerine ayrı komisyonu, finansmanı ve açıkça belirtilmiş gerçekleşme farklarını ekleyin. Varsayımsal 0,8 pip spread, 200 pip hedefin %0,4’ü; 5 pip hedefin %16’sıdır. Bunlar hedef mesafesi paylarıdır, stratejinin üstünlüğü veya gerçek kazancı değildir. Ortalama maliyetin iki katını denemek seçilmiş bir stres süzgeci olabilir; evrensel güvenlik payı olamaz.
Ayrı kaynak PLN modeli: 50 kapanmış işlemde 30 kez 40 PLN kazanç ve 20 kez 50 PLN kayıp, brüt toplamları 1.200 ve 1.000 PLN, neti 200 PLN yapar. Aynı tam maliyet kaybedenler dâhil her kapanmış işleme uygulanır.
| İşlem başı maliyet | Net toplam | Net ortalama | Net kâr faktörü |
|---|---|---|---|
| 0 PLN | 200 PLN | 4 PLN | 1,20 |
| 2 PLN | 100 PLN | 2 PLN | Yaklaşık 1,10 |
| 4 PLN | 0 PLN | 0 PLN | 1,00 |
2 PLN maliyette kazanç 38, kayıp büyüklüğü 52 PLN olur: kâr faktörü 1.140/1.040 ≈ 1,10. 4 PLN maliyette 30 × 36 ile 20 × 54 eşit, yani 1.080 PLN’dir. Sıfıra inen neti gizlemek için yalnız kazananların ücretini düşmeyin.
Yeni TRY örneği: ücret emir başına mı, dolum başına mı?
Kaynak PLN tablosundan bağımsız kâğıt modelinde EUR/TRY alış emri 1.000 EUR olsun: 400 ve 600 EUR, Ask 40,02’den gerçekleşmiş kabul edilsin. Kapanış emri 500 ve 500 EUR olarak Bid 40,05’ten gerçekleşsin. Bütün miktar kapanır; brüt fiyat sonucu 30 TRY’dir. Hayalî tarife emir başına sabit 5 TRY alsın: iki emir 10 TRY ücret, net 20 TRY. Dört dolumu dört emir sanıp 20 TRY düşmek ise neti yanlışlıkla 10 TRY gösterir. Gerçek hizmet tarifesi veya fiyat garantisi ileri sürülmüyor; başka maliyet bu modele eklenmedi.
Aynı fiyatlarla net değişiyorsa önce ücretin emir, dolum veya miktar birimine bağlı olup olmadığını kontrol edin.
Küçük ekranda şemayı yatay kaydırabilir veya büyütebilirsiniz. Değerler ve sonuç aşağıdaki metinde de yer alır.
- Alış emri A
- 400 + 600 = 1.000 EUR – İki dolum, tek emir: 5 TRY ücret.
- Kapanış emri B
- 500 + 500 = 1.000 EUR – İki dolum, tek emir: 5 TRY ücret.
- Fiyat farkı ve net
- 30 − 10 = 20 TRY – Dört doluma dört ücret yazmak neti yanlışlıkla 10 TRY yapar.
Geçmişe aşırı uyum ve bilgi sızıntısı
En iyi parametreyi, enstrümanı veya veri bölmesini çok sayıda denemeden seçmek, tarihin özel ayrıntılarına uyabilir. Optimizatörün dışındaki elenen fikirleri de kaydedin. Yalnız iki parametre değiştirmek başka yerlerden gelen seçilimi yok etmez. Kuralları ve maliyetleri testten önce sabitleyin. 70/30 kronolojik bölme olası bir tasarımdır; tek doğru oran değildir. Testin zayıflığı rejim farkından veya örneklemeden de gelebilir. Testi gördükten sonra fikri değiştirirseniz o bölüm geliştirmeye katılmıştır.
Kaynak zamanlama modelinde t kararının sonucu t + 3’te hazırdır. İlk test t 10’da başlar, uyarlama bundan önce bitmelidir. Aday t 1–t 9 arasından yalnız t 1–t 6 kullanılabilir: son uygun sonuç t 9’da gelir; t 7–t 9 sonuçları t 10–t 12’dedir. Test göstergesini hesaplamak için daha eski fiyatlar yine gerekebilir. Bu dışlama yalnız belirtilen etiket çakışmasını giderir, bütün sızıntıları değil.
Yeni karşı örnek: iki satır boşluk her sonucu bekletmez
İkinci, bağımsız modelde karar kimlikleri 1, 2, 3, 4, 5, 6; sonuçların hazır olma zamanları sırayla 2, 8, 4, 5, 9, 7 olsun. İlk test zamanı 8, uyarlama kesinlikle 8’den önce bitsin. Uygun kararlar 1, 3, 4, 6’dır. Sadece sondaki iki karar satırını çıkarıp 1–4’ü tutmak, sonucu 8’de gelen 2’yi yanlışlıkla içerir; sonucu 7’de hazır 6’yı da gereksiz çıkarır. Bu, satır sayan basit kuralın kâğıt karşılaştırmasıdır; scikit-learn çalıştırıldığı iddiası değildir.
TimeSeriesSplit belgesindeki gap örnek sayısıdır; değişken sonuç gecikmesini kendiliğinden anlamaz. Etiketin hazır olma zamanını ayrıca sınayın. Öğrenilen normalleştirme veya seçim de yalnız eğitim verisine uydurulur, teste aynı dönüşüm uygulanır. Tüm serinin ortalamasıyla eğitim girdisini düzeltmek testten bilgi taşıyabilir. Eşit zaman aralıklı gözlemler şartını da göz ardı etmeyin: belge bunu katların eşit süreyle karşılaştırılması için belirtir.
Varsayımsal istatistikler nasıl okunmalı?
Kazanma olasılığı 0,54, ortalama kazanç 2,3R, kayıp 1R varsayılırsa brüt beklenen değer 0,54 × 2,3 − 0,46 = 0,782R; kâr faktörü 1,242/0,46 ≈ 2,70 olur. Bu değerler işlem sırasını vermediğinden sermaye düşüşünü veya toplam getiriyi belirlemez. Ayrı olarak tam beş yılda atanmış %87 getiri, 1,87’nin beşinci kökünden yaklaşık yıllık %13,34 bileşiğe karşılık gelir. Bu getiri işlem istatistiklerinden türetilmiş değildir. Zaman ve sermaye akışları belirtilmeden iki raporu aynı getiri tablosuna koymayın.
Uygulanabilir kontrol sırası
Toplam sonucu kullanmadan bir kazancı, bir kaybı, eksik bir sinyali ve mum içi sırası belirsiz bir vakayı yeniden üretin. Demo çalışması gerçek zamanda işleyişi sınar; pozitif rapordan sonra gerçek hesaba geçme zorunluluğu doğurmaz.
- Kuralları tek sürümlü dosyaya yazın. Bilginin hazır olma zamanı, büyüklük, emir ve eksik girdi davranışı açık olsun; bağımsız yeniden hesapla farkları araştırın.
- Veri dönemi ile kronolojik geliştirme/test ayrımını ayardan önce kaydedin. İki veya beş yıl evrensel şart değildir; kullanılan koşulları açıklayın.
- Spread, ücretin hangi birime uygulandığı, finansman ve kayma varsayımını uzlaştırın. Maliyet brüt kârın %20’sini aştı diye evrensel ret kuralı yoktur.
- İşlem sayısını, bağımlılığı, dağılımı, belirsizliği ve bütün denemeleri raporlayın. Yeni enstrüman veya dönem hipotezi değiştirebilir; 100 işlem tek başına yeterlilik belgesi değildir.
- Demo farklarını sabit modelle tek tek inceleyin. Üç ay gözlem gelecekte kârı veya hazır oluşu garanti etmez. Ardından ilerleyen pencereyle değerlendirmeyi aynı veri ve bilgi disipliniyle kurun.
Anladığınızı kontrol edin
Alıştırma: yaklaşık 2 dakika.
Yanıtı ve açıklamayı göster
103 − 102 = 1. Ask/Bid taraflarının içerdiği spreadi bir daha düşmeyin.
Diğer sorular
Aşırı uyum nedir?
Hangi backtest aracı en iyisidir?
Kaç işlem ve kaç yıl yeter?
Makul getiri aralığı var mı?
İki satır gap değişken sonuç süresini çözer mi?
TRY örneğinde net neden 20, 10 değil?
Kaynaklar ve doğrulama
- MetaQuotes — gerçek ve üretilmiş tikler
Gerçek tik/M1 eksikleri, değişken spread, Bid/Ask ve grafik fiyatı.
- scikit-learn — veri sızıntısı ve ön işleme
Yalnız eğitim verisine fit; testin model seçimine sızması.
- scikit-learn — TimeSeriesSplit
Kronolojik katlar, örnek sayısı cinsinden gap ve eşit aralıklı gözlem şartı.
- MetaQuotes — Strategy Tester
Test ve ileri değerlendirme seçenekleri; önceki gerçek okumanın ilgili kapsamı.
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.
