← Tüm videolar
MT5 API · 4:45

MT5 geçmişinden rapor oluşturun.

Gerçek işlemleri okuyun. Para hareketlerini ayırın. Sonucu dışa aktarın.

Python örneğini indirin · ZIP ↓

Adım adım yazılı anlatım

  1. 0:00

    MT5 geçmişinden rapor oluşturun.

    Bu eğitimde MT5 işlem geçmişini okumayı, hesaba yansımış işlem sonuçlarını hesaplamayı ve Python ile anlaşılır bir rapor oluşturmayı göstereceğiz.

  2. 0:14

    Salt okunur bağlantı kurun.

    mt5.mrpc.pro adresini açıp ConnectEx'i seçin. Demo hesabın giriş numarasını, şifresini ve aracı kurum sunucusunu girin. TRIAL veya API anahtarınızı kullanın. İsteğe bağlı id alanını boş bırakın. Salt okunur erişim için yatırımcı şifresi kullanıyoruz. Konsol, dönen terminal id değerini saklar.

  3. 0:40

    Hesabın para birimini kontrol edin.

    AccountSummary'yi çalıştırın. Bu, para birimi ABD doları olan bir demo hesap. Bakiyesi doksan dokuz bin dokuz yüz doksan dokuz dolar doksan altı sent. Kâr ve masrafları gösterirken hesabın para birimini kullanın.

  4. 0:59

    Tamamlanmış bir dönem seçin.

    DealsHistory'yi seçin. inputFromUtc ve inputToUtc alanlarına Z ile biten zaman damgalarını girin. Karşılık gelen aracı kurum zamanı alanlarını boş bırakın. Bu kayıtta bir Ekim'den yirmi sekiz Ekim'in başlangıcına kadar olan dönem kullanılıyor. Sonraki sayfaları isterken bu aralığı değiştirmeyin.

  5. 1:25

    Tüm sayfaları okuyun.

    HTTP Status Code 200 sonrasında önce error alanını kontrol edin. Bu yanıtta API hatası yok. pageSize iki olduğunda ilk yanıt, toplam on üç kaydın yalnızca ikisini içerir. nextPageToken değerini pageToken'a kopyalayın ve aynı filtreleri koruyun. nextPageToken boş gelene kadar devam edin.

  6. 1:51

    Emir, gerçekleşen işlem ve pozisyon.

    Emir bir işlem talimatıdır; gerçekleşen işlem ise uygulamanın kaydıdır. AllHistoryOrders emir kayıtlarını gösterir. DealsHistory içindeki order, emir numarasına bağlanır. positionId ise aynı pozisyonun işlemlerini gruplar. Burada bir pozisyonda sıfır virgül sıfır iki lot giriş ve iki adet sıfır virgül sıfır bir lot çıkış bulunuyor.

  7. 2:19

    Tutarları işaretleriyle kullanın.

    Her işlem için profit, commission, swap ve fee değerlerini döndükleri şekilde toplayın. İşaretleri koruyun; zaten negatif olan komisyonu tekrar çıkarmayın. Bu kapanış işlemi iki sent kazandırmış ve masrafı sıfır. Aracı kurum açılışta da komisyon alabileceğinden giriş işlemlerini de dahil edin.

  8. 2:44

    Para hareketlerini ayrı tutun.

    İlk kayıt yüz bin dolarlık demo para yatırma işlemidir. Türü BALANCE ve emir ya da pozisyonu yoktur. Bu, işlem kârı değildir. Rapor, Buy ve Sell işlemlerini diğer türlerden ayırır. Bağımsız ücretleri, kredileri ve düzeltmeleri other-deals dosyasında inceleyin.

  9. 3:08

    Rapor kapsamını kontrol edin.

    On üç kaydın tamamı alındı. On iki alım satım işleminin toplamı eksi dört sent. Bu örnekte commission, swap ve fee sıfır, para yatırma ise ayrı. Bunlar seçilen tarihlerde hesaba yansıyan tutarlardır; açık pozisyon kârı değildir. Dönemden önce açılmış bir pozisyonun eski masrafları bu raporun dışında kalabilir.

  10. 3:34

    Aynı veriyi Python ile dışa aktarın.

    Yardımcı betik aynı DealsHistory uç noktasını çağırır, imleçle tüm sayfaları dolaşır ve son kayıt sayısını kontrol eder. Ondalık aritmetik kullanır ve tutarları positionId'ye göre gruplar. API anahtarınızı ve terminal id değerini ortam değişkenlerine gizli olarak tanımlayın. Betik hiçbir işlem açmaz veya kapatmaz.

  11. 4:00

    Üç rapor dosyasını açın.

    Betiği sabit UTC tarihleriyle çalıştırın. trade-deals.csv, other-deals.csv ve summary.json dosyalarını oluşturur. Örnek çıktı, alınan bu geçmişle karşılaştırılarak doğrulandı. API hatası oluşursa veya sayfalar eksikse betik eksik toplam göstermek yerine durur.

  12. 4:26

    İşiniz bittiğinde bağlantıyı kesin.

    Son olarak terminali serbest bırakmak için konsolda Disconnect çağrısını yapın. Oturumumuz artık kapalı. Geçmişi aldınız, para hareketlerini işlem sonuçlarından ayırdınız ve inceleyip yeniden kullanabileceğiniz bir rapor oluşturdunuz.