Kütüphaneler: MT4Orders Hızlı Rapor - sayfa 8

 
Edgar Akhmadeev #:

Grafik dosya yöneticileri elbette amatörler içindir. Bu bir alışkanlık meselesi. Bir keresinde metin tabanlı NortonCommander'dan çok sayıda eklentisi olan FarCommander'a geçtim.

NC analoglarını DOS'ta zevkle kullandım. Ancak, FAR nedenini anlamadan hemen korkunç bir isteksizliğe neden oldu. TC'yi heves etmeden denedim (şişirilmiş bir versiyon, hiçbir şeyi ayarlamadım) - mükemmel çalıştı.

NC'yi hala iyi hatırlıyorum, FAR'ı ise ürpererek. Yine de tanıştığım tüm programcılar sadece FAR kullanıyor.

 
fxsaber #:

TotalCommander'da kaynakları bir tuşa basarak karşılaştırıyorum. Herhangi bir kodlama, oradaki diğer kodlamalarla kolayca karşılaştırılabilir.

Evet, ben de yerel olarak kullanıyorum. Ancak daha kullanışlı yazılımlar ve üçüncü taraf hizmetleri var. Kodlamanın "önemli olmadığı" her yerde değil.

 

Güncelleme: birkaç şey eklendi.

1) TurnOver grafiği, alışlar, satışlar ve miktarları için P/L içeren bir grafikle değiştirildi. Bu şekilde stratejinizin yükselişte mi yoksa düşüşte mi olduğunu anlayabilirsiniz. Kârlı değilse işlem yönlerinden birini kapatmaya karar verebilirsiniz.


2) Haftanın günlerine ve saatlerine göre kar ve zarar grafikleri.

MQ test cihazının aksine, karlar ve zararlar oluştukları anda değil, bir ticarete girme zamanına göre görüntülenir. Bu, belirli bir saatteki girişlerin çoğunlukla kârsız olduğunu anlamayı ve girişler için bu saati kapatmayı kolaylaştırır.
Ayrıca, alım ve satımlara ilişkin grafikler hazırlanmıştır.


Bu grafiklerden herhangi birine tıklarsanız, saatlere ve günlere göre kesin miktarları içeren tablolar göreceksiniz. Girişlerden saatleri ve günleri devre dışı bırakmak için kullanılabilecek onay kutuları da vardır - grafikler ve tablolar yeniden oluşturulacak ve sonucu ek testler yapmadan değerlendirebileceksiniz. Fxsaber'deki BestInterval 'in bir analogudur, ancak daha kaba (1 saatlik bir adımla) ve otomasyonsuzdur. Adımı azaltmak için M10 aralığı eklenmiştir.

Bu grafiklerde bazı saatlik veya günlük kar patlamaları küçük test dönemlerinde görülebilir. Yukarıdaki grafiklerde test, yükseliş eğilimi olan 5 ay içindir. Yani alış kârda ve satış zararda. Testi bir yıl veya daha uzun bir süreye çıkarırsanız, her iki yönde de birkaç büyük eğilim geçtiğinde, her şey eşit şekilde dağılacak ve genellikle kârsız hale gelecektir, bu nedenle bir şeyi kapatmanız ve kârda önemli bir değişiklik elde etmeniz olası değildir.

İşte 1 yıllık testle aynı stratejide ne oldu: (neredeyse her şeyi kapatmalısınız).

Bu yüzden stratejinizin temeli olması pek olası değildir.

BestInterval
BestInterval
  • www.mql5.com
Вычисление лучшего интервала торговли.
 

Kodda aşağıdaki değişiklikleri yapmanızı öneririm.

// void QuickReport(string file_name, bool is_open_file_in_browser=true, int virtual_number=0, bool hide_account_and_name=false, bool common_path=false, bool fileANSI=true){//
bool QuickReport(string file_name, bool is_open_file_in_browser=true, bool hide_account_and_name=false, bool common_path=false, bool fileANSI=true){//
// ....
    #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID="+(string)VIRTUAL::GetNumber(VIRTUAL::GetHandle()) + " " + VIRTUAL::GetID() +";");
    #else // #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID=0;");
    #endif // #ifdef __VIRTUAL__ #else
// ....
   return(f!=INVALID_HANDLE);
}


Sonra başlıktaki örnek.

 for (int v = 1 ; v <= VIRTUAL::Total(); v++)
   _VI(v, QuickReport("report_"+(string)v, true));
 
Forester #:

Güncelleme: Birkaç şey daha eklendi.

CustomReport'a rapor türünüzün bir seçimi eklendi. Backtests/Signals 'a bakmayı denedim - bazen kullanışlı, teşekkürler.

Возможности анализа не только своей торговой истории.
Возможности анализа не только своей торговой истории.
  • 2022.07.11
  • www.mql5.com
Семейство терминалов MetaTrader позволяет штатно визуализировать историю торговли открытого счета, бэктестов и Сигналов (мониторинг огромного числа торговых счетов). Ниже пойдет речь об использовании
 
fxsaber #:

Kodda aşağıdaki değişikliklerin yapılmasını öneriyorum.

Ardından başlıktaki örnek.

Ben yaptım

    #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID='"+(string)virtual_number+" " + VIRTUAL::GetID() +"';");
    #else // #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID='"+(string)virtual_number+" ';");
    #endif // #ifdef __VIRTUAL__ #else

...
return(f!=INVALID_HANDLE);
}

Eski sürümle uyumluluk için fonksiyon çağrısını değiştirmeden bıraktım, böylece çalışan kodlar bozulmayacaktı. Yani, sanallaştırmanın numarası daha önce olduğu gibi virtual_number değişkeninden alınır ve fonksiyon buna VIRTUAL::GetID() ekler.

 
fxsaber #:

Kodda aşağıdaki değişikliklerin yapılmasını öneriyorum.


Ardından başlıktaki örnek.

Yeni bir varyant yaptım

bool QuickReport(string file_name, bool is_open_file_in_browser=true, int virtual_number=-1, bool hide_account_and_name=false, bool common_path=false, bool fileANSI=true){
    #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID='"+(string)(virtual_number<0?VIRTUAL::GetNumber(VIRTUAL::GetHandle()):virtual_number)+" " + VIRTUAL::GetID() +"';");
    #else // #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID='"+(string)(virtual_number<0?0:virtual_number)+" ';");
    #endif // #ifdef __VIRTUAL__ #else
...
return(f!=INVALID_HANDLE);
}

virtual_number - sanal test cihazı numarası (-1 - otomatik olarak belirlenecektir, 0 - MT5 test cihazı, >0 - sanal test cihazları)

Şimdi varsayılan olarak (virtual_number belirtilmemişse), bu örnekte olduğu gibi

QuickReport("report_"+(string)v, true))

sonra virtual_number otomatik olarak tanımlanacaktır.
Eğer virtual_number belirtilmişse ve >=0 ise, gösterilecektir.

 
Güncelleme. Filtreler eklendi.

Sipariş filtreleme.

Siparişleri farklı parametrelere göre görüntülemek için birçok filtre eklendi.


Alış, Satış, Alış limiti, Satış limiti, Alış durdurma, Satış durdurma, Bakiye - her tür emri rapordan kaldırabilirsiniz.
Semboller - kullanılan enstrümanların tüm listesini gösterir, yalnızca gerekli olanları seçebilirsiniz.
Magic - yalnızca belirtilen Magic ile emirleri gösterebilirsiniz
Min Lot, Max Lot - gerekli lotlara sahip emirleri seçebilirsiniz
Negatif Slipaj - negatif slipajlı emirleri açılış emirleri veya kapanış için ayrı ayrı gösterebilirsiniz
Swap - swaplı emirleri gösterecektir > 0
Min LengthTime - belirtilen süreden daha uzun süreli siparişler (gün, saat, dakika ve saniye sayısı ile belirtilir)
Max LengthTime - belirtilen süreden daha kısa süreli siparişler
Open Time - belirtilen tarihlerden itibaren sipariş açılış zamanı
Close Time - belirtilen tarihlerden itibaren sipariş kapanış zamanı
TP, SL - TP veya SL tetiklemesiyle sonlanan emirler
Karlar, Zararlar - kar veya zararda olan emirler (komisyonlar ve swaplar dahil değildir, nihai karı negatif yapabilirler)
Reddedilenler - gerçekleştirilmemiş emirler

Sıfırla düğmesi, filtreleri varsayılan değerlere sıfırlamanıza ve tüm siparişleri filtreleme yapmadan göstermenize olanak tanır.


Gerçekleştirilen MT5 bekleyen emirler

Bu emrin/pozisyonun tetiklenmesine neden olan bekleyen emir, yukarıdaki aynı satırda koyu mavi renkle gösterilir. Bekleyen emrin ayarlanma zamanı, emrin ayarlanmasından tetiklenmesine kadar geçen süre ve bekleyen emrin türü (Alış limiti, Satış limiti, Alış durdurma veya Satış durdurma) gösterilir. Bu bilgi yalnızca MT5 terminali veya test cihazı için gösterilir, sanal test cihazları veya MT4 bu bilgiyi sağlamaz.

 
Forester #:

Gerçekleştirilen MT5 bekleyen emirler

Bu emrin/pozisyonun tetiklenmesine neden olan bekleyen emir, yukarıdaki aynı satırda koyu mavi renkle gösterilir. Bekleyen emrin belirlenme zamanı, emrin belirlenmesinden tetiklenmesine kadar geçen süre ve bekleyen emrin türü (Alış limiti, Satış limiti, Alış durdurma veya Satış durdurma) belirtilir.

Lütfen bu bilgilerin gösterilmemesine izin verin. Hiçbir faydası yok. Özellikle de emir gerçekleştirilmeden önce değiştirilmişse.
 
fxsaber #:
Lütfen bu bilgiyi göstermeme seçeneği sunun. Hiçbir faydası yok. Özellikle de emir gerçekleştirilmeden önce değiştirilmişse.
Varsayılan olarak gizlidir. ORDER_PARENT #define tarafından etkinleştirilmiştir