Indicator Test Report
- Yardımcı programlar
-
Narayanan Mohanan Mohanan Krishnan
MetaTrader için ölçüm araçları geliştiriyorum. Piyasanın ne yaptığını tarif ederler ve her ölçümün sınırlarını gizlemek yerine açıkça belirtirler. - Sürüm: 3.10
MetaTrader 5 için Indicator Test Report — herhangi bir göstergenin gerçekte nasıl davrandığını gösteren bir repaint denetleyicisi ve gösterge test cihazı
Derlenmiş bir göstergenin içini göremezsiniz. Indicator Test Report, satın alınmış, yazılmış veya MetaTrader'a yerleştirilmiş herhangi bir göstergeyi yükler ve bir açıklamanın yapamayacağı soruyu yanıtlar: repaint yapıyor mu, ne kadar geçmişe ihtiyacı var ve gerçekte ne yayınlıyor? Davranışı bildirir. Derecelendirme yapmıyor.
Herhangi bir göstergeyi Strateji Test Aracına yükleyin ve davranışının on iki yönü hakkında sade dilli bir rapor alın: Kaç tane arabellek yayınladığı, değerlerinin bir anlam ifade etmesi için ne kadar geçmişe ihtiyacı olduğu, kapalı çubuklardaki değerlerin daha sonra değişip değişmediği ve okumanın maliyeti.
Bir göstergenin iyi olup olmadığına ilişkin bir puan, geçme notu ve karar yoktur; yalnızca gözlemlenenler ve bunların neyi kanıtladığı ve kanıtlamadığı.
Neye cevap veriyor
1. Tamponlar.Göstergenin gerçekte kaç numaralı veri serisi yayınladığı ve yanıt veren en yüksek endeks. Bu genellikle grafiğin gösterdiğinden daha fazladır: iki satırlı bir gösterge altı tampon yayınlayabilir ve endekse göre EA okuması için gerçek sayıya ihtiyaç vardır. Endekslerin bitişik olmadığı durumlarda rapor bunu söylüyor; sayarak indeksleme yanlış seriyi okuyacaktır.
2. Hesaplama durumu.Hedefin mevcut çubuk sayısına karşılık kaç çubuk hesapladığı. Doldurulmuş arabelleklere sahip sıfır, bir hata değil, gerçek, adlandırılmış bir durumdur.
3. Kapalı çubuk stabilitesi.Her çubuk için görülen ilk değer dondurulur ve daha sonra okunan her değerle karşılaştırılır. Zaten kapalı olan bir çubuktaki bir değer daha sonra değişirse, rapor çubuk süresini, arabellek indeksini ve her iki değeri de verir. Hareketli bir akım çubuğu repaint değildir; şekillendirme çubuğunun yeniden hesaplanması doğru ve arzu edilir bir durumdur. Önemli olan değeri sonradan değişen kapalı bir çubuktur.
4. Isınma.Her bir arabelleğin herhangi bir değeri tutmadan önce ihtiyaç duyduğu çubuk sayısı, her cevabın sıfır olacağı son pencere yerine mevcut en eski çubuklarda ölçülür. Tamponlar haklı olarak farklılık gösterir: Bir sinyal hattının düzelttiği seriden daha fazla geçmişe ihtiyacı vardır. Grafiğinizdeki ilk elli çubuk henüz anlamlı olmayabilir.
5. Bar içi sinyal titriyor.Kapanmadan önce şekillendirme çubuğunun boş ve sayısal bir sinyal arasında yanıp sönüp sönmeyeceği. Bir sinyal göstergesi için normal; EA'nızın şekillendirme çubuğu üzerinde hareket etmesi önemlidir.
6. Tampon erişim maliyeti.Değerleri almanın çubuk başına mikrosaniye maliyeti sayesinde, tıklama başına birkaç değer okuyan bir EA'ya bütçe ayırabilirsiniz. Mutlak VPS sayıları değil, göstergelerin karşılaştırılması için göreceli rakamlar.
7. Çıkış alanı.Bir EA'daki eşiklerin boyutlandırılması için her arabelleğin on altı ondalık basamağa kadar yaydığı en küçük ve en büyük değer. Bunlar gözlemlenen aralıktır, asla mümkün olan aralık değildir.
8. Sinyal kalıcılığı.Oklar, noktalar ve bayraklar için: Şekillendirme çubuğunda bir değer belirdiyse, kapanışta hala orada mıydı? Sürekli çizgiler yapıya göre %100 puan alır ve bu şekilde işaretlenir çünkü bu sayı bir bulgudan ziyade aritmetiktir.
9. Sayısal olmayan değerler.Herhangi bir arabelleğin sayı olmayan bir değer yayıp yaymadığı. Bir NaN ile yapılan her karşılaştırma yanlıştır (büyük ve küçük dahil), bu nedenle eşik testi hiçbir zaman tetiklenmez ve hiçbir hata bildirmez ve herhangi bir aritmetik dokunuş, sırayla NaN üretir. Bu hedefteki bir kusurdur ve aleyhine yazılmış bir gardiyan tarafından görülemez. EMPTY_VALUE yalnız.
10. Grafik nesnesinin ayak izi.Hedef koşarken kaç tane grafik nesnesinin ortaya çıktığı ve canlı grafikte kaç tanesinin hedef kaldırıldıktan sonra hala orada olduğu. Panel, bölge ve gösterge tablosu göstergeleri arabellekler yerine nesnelerle çizilir, dolayısıyla bu ürünler için diğer tüm kontroller boş yarıyı ölçer. Temizlemeyen bir gösterge, elle temizlediğiniz kalıntıları bırakır.
11. Model bağımlılığı.Yalnızca test cihazı modeli değiştirilerek iki kez çalıştırın. Her Tick ve 1 Dakikalık OHLC farklı simüle edilmiş fiyat yollarıdır, dolayısıyla çubuk içi harekete kasıtlı olarak tepki veren bir gösterge meşru olarak farklılık gösterebilir. Hedefin kapalı çubuk değerlerinin nihai olduğunu iddia etmesi önemlidir.
12. Tarih bağımlılığı.Yalnızca tarih aralığı değiştirilerek iki kez çalıştırın. Fark, hedefin kendisinden önceki geçmişin ne kadar olduğuna bağlı olarak aynı çubuk için farklı değerler rapor ettiği anlamına gelir; bu, bir arka testin canlı grafikle uyuşmamasına neden olan kusurdur.
Zaten bildiğiniz bir şey üzerinde deneyin
Ulaşılabilen her şeyi okur iCustom MetaTrader'ın kendi göstergeleri dahil. ZigZag'a yönlendirin: ZigZag'ın repaint yaptığını herkes bilir ve rapor size değişen çubukları ve her iki değeri de gösterecektir. Onu Ichimoku'ya doğrultun ve geleceğe kaydırılan iki yayılma alanının, olmayan üç yayılımdan farklı davranmasını izleyin. Aracı, davranışını zaten bildiğiniz bir göstergeye göre kontrol etmek, yeni satın aldığınız bir göstergeye güvenip güvenmeyeceğinize karar vermenin en hızlı yoludur ve hiçbir maliyeti yoktur.
Bu araç nasıl test edildi?
Her kontrol, kasıtlı olarak yanlış davranan amaca yönelik oluşturulmuş göstergelere göre doğrulandı: her tıklamada geçmişindeki her çubuğu yeniden yazan, rakamsal olmayan değerler yayan, 399 çubuk ısınmaya ihtiyaç duyan, kaldırıldığında grafik nesnelerini geride bırakan bir kontrol. Kontroller onları çubuk süreleri ve öncesi ve sonrası değerleriyle yakaladı. Başkalarının göstergelerini raporlayan bir araç, kendisinin nasıl test edildiğini söyleyebilmelidir.
Motorlar ayrıca birbirlerine karşı çalıştırılır. MetaTrader 4 ve MetaTrader 5'te ölçülen aynı gösterge, on iki kontrolün onunda uyuşuyor; farklı olan ikisi, raporda belirtilen platform gerçekleridir — MetaTrader 4'ün hiçbir bilgisi yoktur. BarsCalculated ve bir göstergeyi erkenden boşaltmanın bir yolu yok, dolayısıyla bu kontroller rahat bir sıfır bildirmek yerine neyi ölçemediklerini söylüyor.
Göstergeleri satın almak yerine yazarsanız
Aynı rapor farklı bir soruyu yanıtlıyor: Kendi ürünüm gerçekte ne işe yarıyor ve açıklamasında bunu söyleyebilir miyim? Kapalı çubuk değerlerinin nihai olduğu iddiası, arkasındaki karşılaştırmaların sayısı göz önüne alındığında daha değerlidir ve repaint'i bir incelemecinin bulmasındansa kendiniz bulmak daha iyidir.
Her iki platformda da çalıştırdığınızda ikili size MT4 ve MT5 yapılarınızın nerede farklılaştığını gösterecektir: farklı arabellek sayıları, hareket eden bir ısınma, birinde değişen, diğerinde değişmeyen bir değer. Bu farklılık normalde size her ikisini de satın alan birinden tek yıldızlı bir inceleme olarak ulaşır.
Oluşturulan kod parçası, normalde elle yazacağınız entegrasyon belgeleridir; her arabellek, ısınması, aralığı ve boş kalıp kalmamasıyla birlikte adlandırılır. Gönderin veya kendi açıklamanıza yapıştırın. Bu, ürününüzün ölçülen davranışıdır, bir iddia değil.
Ne yapmaz
Bir sinyalin bir avantajı olup olmadığını, bir göstergenin satın almaya değer olup olmadığını veya bir stratejinin karlı olup olmadığını size söylemez. Not vermez, puan vermez veya sıralama yapmaz. Kaynak kodunu okumaz; yalnızca belgelenmiş ara bellek arayüzü aracılığıyla gözlemlenebilir davranış gösterir. Hedefi kendi varsayılan girişlerinde çalıştırır.
Bir bulgu bir hata değildir
Yeniden boyama, uzun bir ısınma, çubuk içi hareket ve grafik nesneleri tasarım seçimleridir ve birçok iyi gösterge bunları bilinçli olarak yapar. Bu araç ne olduğunu ölçer; yalnızca satıcının kendi açıklaması bunun kasıtlı olup olmadığını söyleyebilir. Her raporda bu cümle ve bir cümle daha bulunur: Eğer bir şey sizi şaşırtırsa geliştiriciye sorun. Rapor satıcıya sorulacak iyi bir sorudur. Aleyhlerinde yayınlanacak bir delil değildir ve bu şekilde tasarlanmamıştır.
Temiz bir sonuç kanıt değildir
Her Indicator Test Report kendi metninde bunu söylüyor. Bir çalıştırma, bir sembol, bir zaman dilimi, bir dönem, bir test modelidir. Rapor, belirli bir çalıştırmanın hangi kontrollerin test edilemediğini belirtir; çok az sayıda işaret içeren bir çalıştırma, çubuk içi davranışı test edemez ve rahat bir sıfır bildirmek yerine bunu belirtir. Bir gözlemin yokluğu, yokluğun kanıtı değildir.
Her rapor, on iki kontrolün tamamının tek ekran özeti ve ayrıca aynı hedef üzerinde daha önce yapılan her çalıştırmanın bir tablosuyla sona erer; böylece farklı koşullardaki birkaç çalıştırma bir set olarak okunabilir.
Girişler
- Gösterge adı— hedef, klasörü de dahil olmak üzere tam olarak Navigatör'de göründüğü haliyle. Altında bir Market ürünü bulunur Market\ ve kendi adı; altındaki MetaTrader örnekleri Examples\. Bunu yanlış anlamak, koşuyu durduran tek hatadır ve rapor bunu sessizce başarısız olmak yerine sade bir dille söylüyor.
- İlk önce bu kadar barı bekleyin— Grafik bu kadar geçmişe sahip olana kadar rapor başlamaz. Varsayılan 500.
- Yeniden boyama için izlenecek kapalı çubuklar— her onay işaretinin ne kadar geriye doğru yeniden okunduğu ve karşılaştırıldığı. Bu, kontrol derinliği 3'tür. Varsayılan 300.
- Haber vermeden önce izlenecek yeni çubuklar — örnek boyutu.Çalışma, bu kadar çok çubuk kapandıktan sonra sona eriyor, dolayısıyla daha küçük bir sayı, kısayol değil, daha zayıf bir testtir. Varsayılan 200.
- Isınma için araştırılacak maksimum geçmiş— her arabellekteki ilk gerçek değerin ne kadar geriye aranacağı. Varsayılan 10000.
- Sayısal repaint kontrolleri için tolerans— bunun altında bir fark, bir değişiklikten ziyade kayan nokta gürültüsü olarak ele alınır. Değerlerin büyüklüğü ile ölçeklenir, dolayısıyla bir fiyat serisi ve bir hacim serisi aynı şartlarda değerlendirilir. Varsayılan 0.00000001.
- Temel: Otomatik / Kilitle / Sıfırla— ikinci çalışmanın neyle karşılaştırılacağına karar verir. Otomatik, çoğu insanın bir hedefi iki kez çalıştırarak kastettiği şeydir: ilk çalıştırma referansı ayarlar ve daha sonra karşılaştırmayı değiştirmeden çalıştırır. Varsayılan Otomatik.
- Etiketi çalıştır— iki çalıştırma arasında neyi değiştirdiğinizi nasıl beyan ettiğiniz. MetaTrader, bir programa hangi test cihazı modelinin çalıştığını görmenin bir yolunu vermez, bu nedenle etiket, raporun bir model değişikliğini tekrardan anlayabilmesinin tek yoludur.
- Hedef görünen ad— rapor başlığı için okunabilir bir ad. Dosya yolu hala onun yanında gösterilir, çünkü görünen ad hiçbir zaman ölçülenin kimliğinin yerine geçmemelidir.
- Kullanıma hazır bir EA pasajı yazın— varsayılan olarak açıktır. Yalnızca raporu istiyorsanız kapatın.
- Çıkış dosyası öneki— aynı hedefteki iki çalıştırmanın, tek bir özeti paylaşmak yerine ayrı dosyalara yazmasına olanak tanır.
Ekran görüntüleri neyi gösteriyor?
- Anlık görüntü.On iki kontrolün tümü tek bir ekranda; raporda başka ne varsa, her çalıştırma bu blokla sona eriyor.
- Bir bulgu.Çubuk zamanı ve her iki değerle birlikte değeri değişen kapalı bir çubuk. Araç bunun için var; gerisi bağlamdır.
- Her iki platform da.MetaTrader 4 ve MetaTrader 5'te de aynı gösterge ölçülmüştür, böylece iki rapor satır satır karşılaştırılabilir.
- Dürüst bir ret.Geçiş olarak okunacak bir sıfır basmak yerine, bir şeyi test edemeyen ve bunu söyleyen bir çalışma.
- Oluşturulan snippet.Kullanıma hazır .mqh çalıştırma tarafından yazılmış, her arabellek adlandırılmış ve bir okuma işlevi zaten mevcut olan dosya.
Ekran görüntülerini okuma
Amber kırmızı değildir.Kehribar rengi bir karar şu anlama gelir:bir davranış bulundu ve işte kanıt, Olumsuzbu gösterge bozuk. Yeniden boyama, uzun bir ısınma ve grafik nesneleri tasarım seçimleridir ve birçok iyi gösterge bunları kasıtlı olarak yapar - rapor size çubuk süresini ve her iki değeri de verir, böylece geliştiriciye bu konuda soru sorabilirsiniz, o sayfanın size yapmanızı söylediği şey budur.
Mavi kararlar, anlaşılmaya değer olanlardır. [NOT TESTED] Ve [NOT FOUND] Bu, koşunun bir şeyi ölçemediği anlamına geliyor - çok az tıklama veya tavana ulaşan bir tarama. Bunlar geçiş değil. Çoğu araç buraya rahat bir sıfır basar; bu size sorunun yanıtlanmadığını söyler, bu da ölçüm ile güvence arasındaki farktır.
Eşlik görüntüsü, her iki platformda ölçülen aynı göstergeyi gösterir, böylece iki rapor satır satır karşılaştırılabilir. Görsellerde gösterilen bulgu Market'teki bir üründen değil, bu amaçla yazılmış, kasıtlı olarak kırılmış bir test göstergesinden kaynaklanmaktadır.
Ekran görüntüleri hakkında.Her görüntü gerçek bir çalışmadan yakalanır: Raporlar, maketler değil, aracın yazdığı dosyalardır. MetaTrader 4 yapısının, MetaTrader 4'te çekilmiş kendi görüntüleri vardır, çünkü on iki kontrolden ikisi orada yasal olarak farklı okunur ve MetaTrader 5 çıktısını MetaTrader 4 listesinde göstermek onu yanlış temsil eder. Eşitlik görüntüsü, her iki platformu da aynı göstergede yan yana gösteriyor: on iki kontrolden on tanesi aynı ve farklı olan ikisi raporda adlandırılıyor. Bu ikisi, bağlantı noktasının ne kadar dikkatli yazıldığı değil, PLATFORM'un neler sağlayabileceği meselesidir: MQL4'ün hiçbir özelliği yoktur. BarsCalculated işlevi vardır ve bir göstergeyi erkenden boşaltmanın bir yolu yoktur. MetaTrader 4 yapısının dışında hiçbir şey bırakılmamıştır; MetaTrader 4'ün raporlayabildiği her şeyi rapor eder ve raporlayamadığı yerlerde bunu söyler. Bu araç neyi ölçemediğini belirtmek için oluşturulmuştur ve bu öncelikle kendi listesi için geçerlidir.
Çıkış
Bir metin raporu, çapraz çalıştırma karşılaştırması için bir CSV temel çizgisi ve çalıştırma başına bir satır olmak üzere birikmiş özet, çalıştırmalar arasında geçerli olmaları için paylaşılan Dosyalar klasörüne yazılır. Bir karşılaştırma bir değer bulduğunda her farklı değer kendi CSV'sine yazılır.
Ve kullanıma hazır bir kod pasajı: derlenebilir .mqh Çalıştırdığınız platform için önceden yazılmış bir okuma işleviyle her canlı arabelleği, ısınmasını, gözlemlenen aralığını ve boş kalıp kalmayacağını adlandırma. Bu, arayan kişinin normalde deneme yoluyla keşfedeceği şeydir. Çalıştırma kapalı çubuk değişiklikleri veya NaN değerleri bulursa, kod parçası bunu en üstte belirtir ve örneğini, ona karşı hiçbir bulgu olmayan bir arabelleğe işaret eder.
Vadesi geldiğinde kredi
Tampon okuma yaklaşımı aşağıdaki gibidirICÖzel Gösterge Test CihazıPiotr Latoszynski tarafından, 2020'den beri Piyasada ücretsiz. Değişen kapalı çubuk değerlerini tespit etmeye yönelik dondur ve karşılaştır yöntemi, Brahim Ben Abla tarafından mql5.com'da 772704 (17 Temmuz 2026) gönderisinde gerçek sayılarla açıklanmıştır; yöntem onun, sadece kargo bana ait.
Notlar
- Bu, rapor yazan bir Uzman Danışmandır. Asla ticaret yapmaz.Hiçbir emir vermez, pozisyon açıp kapatmaz ve hesabınızdaki hiçbir şeye dokunmaz; bir göstergeyi okur ve metin dosyaları yazar.
- Otomatik Ticaret etkinleştirilmelidir.MetaTrader, işlem yapıp yapmadığına bakılmaksızın her Uzman Danışmanı bu iznin arkasında tutar, böylece düğme kapalıyken terminal programı çağırmayı durdurur ve hiçbir rapor veya hata görmezsiniz. Canlı bir hesapta etkinleştirmek istemiyorsanız bunu bir demo hesabına ekleyin; sonuç aynıdır çünkü burada hiçbir şey hesaba bağlı değildir.
- Strateji Test Aracı'nda ve kontrolün gerçek işaretlere ihtiyaç duyduğu canlı bir grafikte çalışır. Belgelenen aracılığıyla hedefi okur iCustom arayüz.
- Kendi gösterge tutamaçlarını dahili olarak oluşturan bazı hedefler asla hesaplanmış bir durumu raporlamaz. Rapor, sıfır bildirmek yerine bu durumu adlandırıyor.
- Çıktı, paylaşılan Dosyalar klasörüne gider, böylece raporlar çalıştırmalar arasında kalır ve her biri bir özet satırı biriktirir.
- Birden çok örnek desteklenir.İki grafik aynı anda farklı sembolleri ölçebilir ve her iki çalışma da birbirinin üzerine yazmak yerine aynı özete eklenir; bir saniye arayla biten iki örnekle test edilmiştir. İki geçmişi ayrı tutmayı tercih ediyorsanız, onlara farklı çıktı önekleri verin.
- Dış bağımlılık yok. Hiçbir kütüphaneyi veya başka bir göstergeyi çağırmaz.
| Bu geliştiriciden daha fazla araç Kapanmış bar mantığı, doğrulanmış tamponlar ve başka göstergelere bağımlılık olmaması ilkeleriyle, temiz ve belgelenmiş koda önem vererek MetaTrader göstergeleri ve Expert Advisor'lar geliştiriyorum. Bu araç, o iddiayı birinden inanmasını istemeden önce kendi çalışmamda doğrulamak istediğim için var. Yayınlanan tüm ürünleri görün → Bir raporda beklemediğiniz bir şey mi buldunuz ya da onikilerin karşılamadığı bir kontrol mi istiyorsunuz? Bana özel bir mesaj gönderin; cevaplamaktan memnuniyet duyarım. |
Narayanan Mohanan tarafından geliştirilmiş ve sürdürülmektedir, ML/Python/MQL Developer.
Bu sayfanın çevirisinde bir hata tespit ederseniz lütfen bana bildirin, düzelteceğim.
