EA Ledger True Costs MT5
- Yardımcı programlar
-
Quoc Dat Quach
Software engineer with 8 years in fintech and mobile, writing MQL4/MQL5 since 2017. I build Expert Advisors, indicators, trade and risk-management panels and utilities for MT4/MT5, and I trade forex and gold on MT5 myself. - Sürüm: 1.0
- Etkinleştirmeler: 10
MetaTrader 5 için bir hesap defteri: sonuçlarınızı sihirli numaraya, sembole, haftanın gününe ve saate göre ayırır; fiyat kâr/zararını, komisyonu, swap'ı ve ücretleri ayrı sütunlarda gösterir; her gerçekleşmede (fill) ödenen spread'i ve istediğiniz fiyata göre kaymayı ölçer. Toplamlar her güncellemede hesap bakiyesiyle karşılaştırılır. Grafik üzerinde asla işlem yapmaz.
Ne yapar
Tek bir grafiğe ekleyin. Hesabın deal geçmişini okur, her pozisyonu kendi deal'lerinden yeniden oluşturur ve sonucu bir panelde gösterir:
- net sonuç, fiyat kâr/zararı, komisyon, swap ve ücretler; ayrı sütunlarda
- her gerçekleşmenin spread maliyeti ve kayma maliyeti; terminalin kendi tick geçmişinden ölçülür
- kapanmış her işlemin MFE ve MAE değeri: işlem açıkken fiyatın lehinize ve aleyhinize ne kadar gittiği
- işlem sayısı, kazanma oranı, kâr faktörü, lot ve lot başına toplam maliyet
- para yatırma, para çekme, kredi, bonus, düzeltmeler ve diğer işlem dışı kayıtlar; işlem sonuçlarından ayrı gösterilir
Yeni bir deal eklendiğinde kendiliğinden güncellenir. Hesaplaması 50.000 ve 200.000 deal içeren sentetik geçmişlerle test edildi; canlı test hesaplarında en fazla 1.249 deal vardı.
Bakiyeyle tutan toplamlar
Geçmiş her değiştiğinde panel hesabın tüm deal'lerini toplar ve toplamı aracı kurumun bildirdiği bakiyeyle karşılaştırır. Özetin altındaki çubuk iki sayıyı ve farkı gösterir: kuruşu kuruşuna tuttuğunda yeşil "OK", tutmadığında kırmızı "MISMATCH". Seçilen dönem için bakiye değişiminin, işlem sonucu ile işlem dışı kayıtların toplamına eşit olduğunu da gösterir.
Kredi gösterilir ama bakiyeye dahil edilmez; MetaTrader de onu aynı şekilde sayar.
Deal'lerden yeniden oluşturulan pozisyonlar
- Hedging ve netting hesaplar.
- Kısmi kapanışlar, ekleme yapılan pozisyonlar, karşıt pozisyonla kapatma (Close By; her iki pozisyon da "CB" ile işaretlenir) ve netting hesaplarda yön değiştirmeler (bir pozisyonu kapatıp karşı yönde yenisini açan tek bir deal). Yön değiştiren deal'in komisyonu, kapanan işlem ile yeni işlem arasında hacme göre bölünür.
- Ayrı deal olarak kaydedilen komisyon ile günlük veya aylık komisyon, aracı kurum onu bir pozisyona bağladığında o pozisyona eklenir. Aksi halde kendi satırında, "Commission not linked to a position" olarak gösterilir.
- Stop loss, take profit ve stop out ile gerçekleşen çıkışlar işaretlenir.
Gruplama ve filtreler
Görünümler: sihirli numaraya göre (varsa EA yorumuyla etiketlenir, sihirli numara 0 "Manual" olarak görünür), sembole göre, sihirli numara ve sembole göre, girişin haftanın gününe göre, girişin aracı kurum saatine göre ve bir işlem listesi.
Dönemler: bugün, bu hafta, bu ay, tüm geçmiş veya sunucu saatiyle özel bir aralık.
Bir sihirli numara satırına tıklayınca onun sembolleri, bir sembol satırına tıklayınca onun sihirli numaraları, bir sihirli numara ve sembol satırına tıklayınca da işlemleri görünür. Paneldeki bir etiket etkin filtreyi gösterir ve onu temizlemeye yarar.
Results sayfası parasal sonuçları gösterir; Costs sayfası ise grup başına spread, kayma, komisyon ve ücretleri, lot başına maliyeti, ortalama MFE ve MAE'yi ve her ölçümün nereden geldiğini gösterir.
Maliyetler nasıl ölçülür
- Gerçekleşmedeki spread: deal anında geçerli olan bid/ask, terminalin tick geçmişinden. Tick yoksa M1 çubuğunun spread'i kullanılır ve işlem "M1" ile işaretlenir.
- Kayma: gerçekleşme fiyatının istenen fiyata göre farkı:
- bekleyen emir: emrin fiyatı
- stop loss veya take profit: stop seviyesi
- piyasa emri: aracı kurum genellikle bunun için istenen fiyatı saklamaz; bu yüzden emrin verildiği andaki kotasyon tick geçmişinden alınır (alışta ask, satışta bid)
Pozitif kayma aleyhinize, negatif kayma lehinizedir.
- Bir puanın parasal değeri: işlemin kendi kârından alınır; böylece cent ve EUR hesaplar dahil hesap para birimini ve kontrat büyüklüğünü (lot başına 1, 10 veya 100 oz altın; 1, 10 veya 100 birimlik endeks CFD'leri) izler. Bir işlemde bunu ölçecek fiyat hareketi yoksa sembolün ortalaması, o da yoksa aracı kurumun kendi kâr hesaplaması kullanılır.
- MFE / MAE: giriş ile çıkış arasında pozisyonun değerlendiği en yüksek ve en düşük fiyat (alışta bid, satışta ask), tick'lerden. 3 günden uzun işlemler (bir girdi parametresi) M1 çubuklarını kullanır ve "M1" ile işaretlenir.
Spread maliyeti ve kayma maliyeti, gerçekleşme fiyatının parçası oldukları için zaten fiyat kâr/zararının içindedir. Sonuçtan ne kadarını aldıklarını görebilmeniz için gösterilirler. İkinci kez düşülmezler.
Sonuçlar küçük bir önbellek dosyasına kaydedilir, böylece ölçüm her deal için bir kez yapılır. Test hesaplarında 1.246 gerçekleşme ve 557 işlemin ilk ölçümü 7 saniye sürdü; ölçüm arka planda küçük parçalar halinde çalışır ve bu sırada panel kullanılabilir.
CSV dışa aktarma
"Export CSV" düğmesi MQL5\Files\EALedger\<account>\ klasörüne dört dosya yazar:
- <time>_summary.csv: dönem toplamları, işlem dışı kayıtlar, bakiye kontrolü
- <time>_groups.csv: geçerli görünümün her grubu için bir satır
- <time>_trades.csv: her işlem için bir satır; giriş ve çıkış, maliyetler, girişte ve çıkışta spread ve kayma, puan ve para cinsinden MFE ve MAE, her ölçümün kaynağı ve notlar
- <time>_deals.csv: her deal için bir satır; ait olduğu işlem, istenen fiyat, emir anındaki kotasyon, kayma ve spread
"Write the CSV files again after every history change" girdisi etkinleştirildiğinde aynı dosyalar auto_ önekiyle güncel tutulur.
Girdi parametreleri
| Girdi | Varsayılan | Anlamı |
|---|---|---|
| Period shown at start | All history | Today, This week, This month, All history, Custom |
| Custom period: from / to | 2026.01.01 / 0 | Sunucu saati. 0 = şimdi |
| View shown at start | By magic number | By magic number, By symbol, By magic number and symbol, By weekday of entry, By broker hour of entry, Trade list |
| Show only this magic number | -1 | -1 tümünü gösterir |
| Measure spread and slippage at every fill | true | |
| Measure MFE / MAE of closed trades | true | |
| Trades up to this many days long use ticks | 3 | Daha uzun işlemler M1 çubuklarını kullanır |
| Write the CSV files again after every history change | false | |
| Panel distance from the left / top edge | 8 / 22 | Piksel |
| Panel scale in % | 0 | 0, ekran DPI'sini izler |
| Hide the chart's own trade arrows while the panel is open | true | MetaTrader bu okları panelin üstüne çizer. Grafik ayarı, panel daraltıldığında veya EA kaldırıldığında geri yüklenir |
| Tester only: open sample positions | true | Aşağıya bakın |
Strateji Sınayıcı
Test cihazında başlangıçta gösterilecek bir deal geçmişi yoktur. Bu yüzden EA, yalnızca Strateji Sınayıcı'da, kendisi kısa bir dizi örnek pozisyon açar:
- minimum hacim (teminat izin verdiğinde minimumun iki katı), üç sihirli numara ("Sample A", "Sample B", "Sample C")
- her pozisyon açılır, yarısı kapatılır, ardından kalanı kapatılır; en fazla 60 pozisyon
- her yeni pozisyondan önce serbest teminat kontrol edilir; para yetersizse bir not yazar ve hiçbir emir göndermez
Panelin dolduğunu görmek için görsel modda çalıştırın. Örnek pozisyonlar bir işlem stratejisi değildir ve sonuçları kârlılık hakkında hiçbir şey söylemez. Test cihazında piyasa emirleri için istenen fiyat yoktur ve tick geçmişi de olmayabilir; bu nedenle orada spread ve MFE/MAE M1 çubuklarından gelir, kayma ise işlem listesinde "n/a", özette 0,00 olarak gösterilir.
Canlı veya demo grafikte EA hiçbir zaman emir göndermez, değiştirmez veya kapatmaz.
Sınırlar (lütfen satın almadan önce okuyun)
- Tek grafik yuvası: bu bir Uzman Danışmandır (Expert Advisor), dolayısıyla eklendiği grafiğin EA yuvasını kullanır. İşlem yapan bir EA'nın grafiğine değil, boş bir grafiğe ekleyin.
- Tick geçmişi aracı kurumundur: spread, piyasa emirlerindeki kayma ve MFE/MAE için işlemin zamanına ait aracı kurum tick geçmişi gerekir. Aracı kurumlar bunu sınırlı bir süre saklar, bazı semboller için ise hiç saklamaz (testlerde bir hisse senedi CFD'sinde hiç yoktu). Bu durumda M1 çubukları kullanılır ve işlem "M1" ile, hiç veri yoksa "n/a" ile işaretlenir. İlk ölçüm, tick geçmişini aracı kurumun sunucusundan indirir.
- Piyasa emirlerinin kayması, emrin verildiği andaki kotasyona göre ölçülür. Yürütme sırasındaki her türlü fiyat hareketini içerir; ödediğiniz de budur.
- Karşıt pozisyonla kapatma (Close By): MetaTrader, bir Close By işleminin tüm kârını iki pozisyondan birine kaydeder. Defter bunu aracı kurumun kaydettiği şekilde gösterir; toplamlar doğrudur, iki pozisyon arasındaki dağılım MetaTrader'ınkidir.
- Netting hesaplar: bir pozisyon birden fazla EA tarafından değiştirilebilir. İşlem, onu açan sihirli numaraya aittir; üzerindeki diğer sihirli numaralara ait deal'ler "Mix" ile işaretlenir.
- Tutarlar hesap para birimiyle gösterilir, aracı kurumun bildirdiği şekilde. Cent hesap cent gösterir.
- Swap kendi sütununda gösterilir ve lot başına toplam maliyete dahil edilmez; bu maliyet spread, kayma, komisyon ve ücretleri kapsar.
- Haftanın günü ve saat girişe aittir, sunucu saatine göredir.
- Test ortamı:
- Dört demo hesapta canlı: MetaQuotes-Demo USD hedging (1.249 deal), EUR hedging (900 deal), USD netting (262 deal) ve ikinci bir aracı kurumda bir demo hesap, USD hedging (337 deal; 5.000 oz gümüş, 10 birimlik ve 100 birimlik endeks kontratları ve hisse senedi CFD'leri dahil). Dördünde de toplamlar bakiyeyle kuruşu kuruşuna tuttu ve her işlem, test için yazılmış ayrı bir geçmiş yeniden oluşturmasıyla eşleşti.
- Cent hesaplar ve 1 oz altın, canlı hesaplarla değil, sentetik deal'lerle yapılan birim testleriyle kapsanmıştır. İki aracı kurum da bunları demo hesapta sunmuyordu.
- Hız, 50.000 ve 200.000 deal içeren sentetik geçmişlerle test edildi.
- Lütfen önce ücretsiz Strateji Sınayıcı demosuyla, bir demo hesapta deneyin.
