Biraz şaşırdım :) Retorik bir soru DEĞİL paylaşmaya ve sormaya karar verdim. - sayfa 15

 
hrenfx :

Optimize ediciden bahsediyoruz, test cihazının tek bir çalışması olarak değil. Optimize edici kavramı tamamen farklıdır. Orada, sonuçlardaki küçük hatalar nedeniyle önemli bir hız kazancı elde edilir. Optimize edici, kene modellerine hiç ihtiyaç duymaz. Maksimum - açılış fiyatlarında . Bir optimize edici çoğu zaman bir test cihazı değildir, tamamen farklı bir şeydir. Farklı bir yaklaşımınız var, aynı zamanda oldukça mantıklı.

Güvenilmez bir test cihazı yaptıktan sonra (ve oradaki hata hiçbir şekilde% 1 olmayacak), geliştirici ömür boyu bir yer alacaktır. Ve "100 kat daha hızlı" hakkındaki konuşma, "evet, nerede görüldü, böylece optimize edicinin bir şeyi pürüzlendirme hakkına sahip olması" ifadeleriyle karşılaştırıldığında sadece çiçekler gibi görünecek.

Aksine, maksimum doğruluk için savaşıyoruz ve optimize ediciyi şu şekilde hızlandırıyoruz:

  • algoritmaların optimizasyonu
  • MQL5 dilinin performansını ve işlevselliğini en üst düzeye çıkarmak
  • çok iş parçacıklı, uzak ve bulut aracıları
  • yayılma desteği ile ayrıntılı M1 geçmişi
  • 64 bit sürümleri kullanarak
Strateji optimizasyon sürecinin paralelleştirilmesi, hesaplama çekirdeklerinin sayısında hemen doğrusal bir hızlanma sağladı ve MQL5 dili, MQL4'e kıyasla ileriye doğru büyük bir adım oldu.
 
Renat :

Güvenilmez bir test cihazı yaptıktan sonra (ve oradaki hata hiçbir şekilde% 1 olmayacak), geliştirici ömür boyu bir yer alacaktır.

Farklı diller konuşuyormuşuz gibi geliyor. Seni hiçbir şey için suçlamıyorum. Ayrıca geliştiricilerin tek doğru yolu izlediğini söyledi.

Sizi ilgilendirmeyen diğer tüm gelişmelerde kusur aramayın. Benim kafiyem MT4 test cihazından 100 kat daha hızlı ve SADECE BENİM EA'DA < %1 hata ile. Diğer danışmanlar için bir sayma kafiyesi yapmak zorunda değildim.

Görüyorsunuz, zorundaydım, kendim için yaptım ve bu yolu hiç kimseye empoze etmiyorum. Sadece gerekirse, ÇOK YÖNLÜ OLMAYAN aptalca ama çok hızlı bir kafiye yazmak için her zaman fırsat olduğunu söylüyorum. Ardından, aptal olmayan, ancak iyi yapılmış gerçek bir ticaret simülatörü olan MT4-MT5 test cihazında sonuçlarını bileyin.

Geliştiricileri optimize edicinin kafiye kadar hızlı olmadığı için eleştirmek için aptal olmalısınız. Ve belirli bir vaka için özel olarak yazılmış bir kafiyenin bu özel durumda evrensel bir test cihazından daha hızlı olmayacağını iddia etmek için çok inatçı olmalısınız.

Tekrar ediyorum, geliştiriciler müşterileri tarafından beslenir - tüccarlar ordusu tarafından temsil edilen DC. MTS takma adları da müşterileri - pazarlar tarafından beslenir. Herkes kendi işini yapıyor. Sadece birbirinize zorbalık etmeyin. Birbirinize saygı ve saygısızlıkla davranabilirsiniz.

Topikstarter, geliştiricilere bir hit ile pratik olarak başladı. Bunun mümkün olmadığını defalarca söyledi. Sonuç olarak geliştiriciler de çok ileri gitmeye başladılar, kendilerininkini söyleyen bir sopa. Yeter ki birbirimize saygı duyalım.

 

Kendim için yaptıklarımı özetleyeyim - MT5 test cihazı/optimizer İHTİYACI, bazı özel durumlar için (hem kişisel hem de uygulamalı) olursa olsun, ideal bir şey olmadığı için uygulanabilir değildir. pt.

Tartışma kişisel olarak benim için faydalı oldu. En azından geliştiricilerin bakış açısından, uyguladıkları çözümün en iyisi olduğu anlaşıldı. Ve birinin milyarlarca koşu sürmesi gerektiği gerçeği başka bir soru. Bu gerekli - peki, ördek kendin yap. Ve bu kadar. MT5 optimizer'ı performansı artırma yönünde değiştirmek (fahiş değerlere) gerçekçi değildir. Performans açısından, çok şey yaptılar, neredeyse mümkün olan her şeyi. Aferin.

Böylece retorik olmayan sorumun cevabını aldım.


Hrenfx'e : Renat'tan ne cevap istiyorsunuz? Bir geliştiricinin yapması gerektiği gibi yanıt veriyor. IMHO, söylediğin her şeyi mükemmel bir şekilde anlıyor. Ancak cevap sadece size değil, onu okuyan herkese. Bu yüzden her zaman geliştiricilerin cevaplarını okumalısınız.


Şikayet ediyoruz, ancak kişisel olarak bizim için değil, tüketiciler için yazılım yapıyorlar. Görünüşe göre onlara milyonlar ödeseydik, bizim için kişisel olarak yazılım yapacaklardı.


Teşekkürler. Cevap alındı. :)

 
Academic :

Hrenfx'e : Renat'tan ne cevap istiyorsunuz? Bir geliştiricinin yapması gerektiği gibi yanıt veriyor. IMHO, söylediğin her şeyi mükemmel bir şekilde anlıyor. Ancak cevap sadece size değil, onu okuyan herkese. Bu yüzden her zaman geliştiricilerin cevaplarını okumalısınız.

Herkes birbirini anladı. Kimse iş kanunlarını iptal etmedi...
 
Çeşitli evrensel test cihazlarının dokunulan kalite ve hız konusu ışığında, MQL5 - Stock# 'ın gerçek rakibinden bahsetmeyi unuttum.
StockSharp торговые роботы. Создание, обучение, разработка торговых роботов.
  • StockSharp
  • stocksharp.com
Библиотека для создания торговых роботов (HFT, Арбитраж и т.д.) Графическая платформа для торговых роботов. Создание и тестирование роботов
 
hrenfx :
Çeşitli evrensel test cihazlarının dokunulan kalite ve hız konusu ışığında, MQL5 - Stock# 'ın gerçek rakibinden bahsetmeyi unuttum.

Aslında - bir dijital kırıcının (Data-Crusher) veya sizin dediğiniz gibi bir kafiyenin yaratılması basit bir şey olmaktan uzaktır.

Yukarıda zaten belirttiğiniz gibi, USHORT sadece iki bayt aldığı ve bir beş basamaklı bir ilke için bile yeterli olan 0'dan 65535'e kadar olan değer aralığı. Yani, ÇİFT'in 8 bayt almasına rağmen, 6553 eski öğe ortaya çıkıyor - gözler için olduğundan daha fazla.


Yani, örneğin bir karakterde 50 milyon onay işaretimiz varsa, o zaman (USHORT'ta zamanı da kodlamamıza rağmen, 3 * 2 = 6 baytlık bir onay boyutu elde ederiz), yani 50 * 6 yaklaşık 300 megabayttır. Ve bir tick'i DOUBLE olarak saklarsak ve zaman USHORT olsa bile, 2*8+2=20 bayt çıkıyor, o zaman 20 * 50 zaten en az bir gigabayttır.

Peki, 7 karakter dersek, o zaman bu bir sürümde 7 * 300 = 2.1 gigabayt ve ikincisinde 7 gigabayttır. OP. 64 bit makineler için standart olarak 4 gigabayt OP alırsak, zaten %100 takas için ayrıldığımız ortaya çıkıyor.

Eh, optimizasyon sırasında keneleri saklamaz, ancak çalıştırmadan önce oluşturursanız, elbette daha az yer kaplar. Ancak bu artık dijital bir roguelike değil.


Tamam - hadi devam edelim - diyelim ki akıllıyız ve keneler oluşturduk. Ve bellekte 2 gigabayt yer kaplarlar, ancak çalışkan ve akıllıysak, ancak aynı zamanda deneyim eksikliğinden dolayı yüksek performansı çok az anlıyorsak, o zaman her koşu için “akışımızı” başından beri koruyacağız. sonuna kadar hikaye ve sürücü. Ancak yalnızca son "saçmalıkta" üretkenlik açısından yaklaşık dört kat kaybedeceğiz. Bunu düşün! Dört kez - Tabii ki tamamen C'yim. Yani birden fazla kişi süper üretken bir optimize ediciye (testçi değil) sahip olmak istiyorsa, böyle bir program yapmaya hazırım. Ama zaman alacak ve bu yüzden para istiyorum. :)

Yani, ivmenin SEKİZ katı kadar saydım.


Bu, tam sayılarda bir DOUBLE'da 12 saniyede yaklaşık 150 milyon tik, ancak dört kat daha hızlı, yani 1999'dan günümüze üç semboldeki tüm tiklerin çalıştırılması için 4 saniye.

Çok para birimli böyle bir test cihazım var (MT4 ortamı için, MT4'lü bir derleyici desteğiyle bile, ancak C ++ yerel olanıdır). Bunu net ticarete dönüştürmek basit bir meseledir. Ama kesinlikle MT5 ile derleyici yapmayacağım, çok tembelim. Bu arada, MT4 hata ayıklamasını destekliyor :)) Stüdyoda. Dağıtılmış işlemi oraya komşu makinelere eklemek mümkündür, ancak hızda bir kazanç olup olmayacağı henüz görülmedi.

Grafiklerle, performans sayaçlarıyla, kendi geçmişinizi yükleyerek ... genel olarak, program çok, çok küçük değil - bir bakışta 10.000 satır. :)

 
Academic :

Moderatörler sakıncası yoksa, testçinizin örneklerinin ekran görüntülerini buraya gönderin. Bazı standart Uzman Danışmanları alın, "hepsi bir arada" (göstergeler olmadan) dönüştürün ve kendinizinki de dahil olmak üzere farklı optimize edicilerde çalıştırın. Sonuçları en azından ekran görüntüsü şeklinde yayınlayın.

Sayma kafiyemi göstermemin bir anlamı yok (yukarıda zaten söyledim), çünkü onu adlandırmamak "kafiye" kelimesinden daha iyidir. Kendi ifadenize göre, neredeyse (her şeyi bilmiyorum) tam teşekküllü bir optimize ediciye sahipsiniz. Geliştiriciler optimize edicilerini yayınladılar (hatta iki - MT4 ve MT5). Tartışabilir ve eleştirebiliriz. Kendinden bir şey göster. Potansiyel alıcılar bulunabilir.

Evet ve evrensel iyileştiriciniz gerçekten çok daha hızlı ve kabul edilebilir bir hatayla hesaplarsa geliştiriciler bunu düşünebilir.

Bir de gösterge meselesi var. Şahsen, Uzman Danışmanlar yazmalarına ihtiyacım yok, ancak %99'u bunları kullanıyor, bu nedenle geliştiriciler, test cihazı optimize edicilerinin mimarisini çoğunluğun gerçeklerine göre büyük ölçüde ayarladı. Bu nedenle, "hepsi bir arada" için bir miktar mimari hız kaybı olabilir (daha hızlı olabilir), ancak göstergeli seçenekler için (olabileceğinden daha önemli bir avantaj) olabilir.

PS Rakamlarda net bir yanlışlığınız var: INT'deki geçmiş 2.1Gb'yi ve DOUBLE - 7Gb'yi işgal edemez. Fark her zaman tam olarak 2 (USHORT yeterli değil) katı olmalıdır. Fiyatlarla tamsayı aritmetiğine geçiş, EA'daki tüm mantığın tamsayı ile değiştirilebildiği zaman önemli bir avantaj sağlar. Sık sık olmaz.

 
hrenfx :

Moderatörler sakıncası yoksa, testçinizin örneklerinin ekran görüntülerini buraya gönderin. Bazı standart Uzman Danışmanları alın, "hepsi bir arada" (göstergeler olmadan) dönüştürün ve kendinizinki de dahil olmak üzere farklı optimize edicilerde çalıştırın. Sonuçları en azından ekran görüntüsü şeklinde yayınlayın.

Sayma kafiyemi göstermemin bir anlamı yok (yukarıda zaten söyledim), çünkü onu adlandırmamak "kafiye" kelimesinden daha iyidir. Kendi ifadenize göre, neredeyse (her şeyi bilmiyorum) tam teşekküllü bir optimize ediciye sahipsiniz. Geliştiriciler optimize edicilerini yayınladılar (hatta iki - MT4 ve MT5). Tartışabilir ve eleştirebiliriz. Kendinden bir şey göster. Potansiyel alıcılar bulunabilir.

Evet ve evrensel iyileştiriciniz gerçekten çok daha hızlı ve kabul edilebilir bir hatayla hesaplarsa geliştiriciler bunu düşünebilir.

Bir de gösterge meselesi var. Şahsen, Uzman Danışmanlar yazmalarına ihtiyacım yok, ancak %99'u bunları kullanıyor, bu nedenle geliştiriciler, test cihazı optimize edicilerinin mimarisini çoğunluğun gerçeklerine göre büyük ölçüde ayarladı. Bu nedenle, "hepsi bir arada" için bir miktar mimari hız kaybı olabilir (daha hızlı olabilir), ancak göstergeli seçenekler için (olabileceğinden daha önemli bir avantaj) olabilir.

PS Rakamlarda net bir yanlışlığınız var: INT'deki geçmiş 2.1Gb'yi ve DOUBLE - 7Gb'yi işgal edemez. Fark her zaman tam olarak 2 (USHORT yeterli değil) katı olmalıdır. Fiyatlarla tamsayı aritmetiğine geçiş, EA'daki tüm mantığın tamsayı ile değiştirilebildiği zaman önemli bir avantaj sağlar. Sık sık olmaz.

USHORT'un yeterli olmadığını düşünüyorsanız, evet. Ama bence bu yeterli. Ayrıca, neden bir şeyi ikiye katla - FLOAT iki kat daha küçük ve daha hızlı.

Ve derileri ne indirir - o zaman:

Evet, tamam - zamanım varsa göstereceğim ama dış görünümleri değil - çünkü bu bir pencere uygulaması değil ama video gibi bir şey göstereceğim.

Burada alıcı olduğunu sanmıyorum. :) Ve yazın belki vakit olur, onu nette yeniden yapıp "satışa" koyacağım. İngilizce bir web sitesi yapacağım ve yayınlayacağım. Satmayı düşünüyorum :) (Aslında komik buluyorum - yani hayatımda hiç charavara yapmadım) 30-50 dolar olurum. Ama saçmalık ilginç - bir düşünün - MT4'e yazıyorsunuz ve stüdyoda hata ayıklıyorsunuz. :)


Göstergeler söz konusu olduğunda, her şey desteklenir - iCustom da (şimdi MT5'te aynı şekilde yapılır - bir sembolde aynı parametrelere sahip böyle bir gösterge varsa, yeniden hesaplanmaz). Genel olarak, orada olmayanı söylemek daha kolaydır - ... dürüst olmak gerekirse, tam olarak ne yapmadığımı hatırlamıyorum, ancak MT4'te ihtiyacınız olan her şey var. Evet ve işaretler, her bir sembolden testin yapıldığı EA'ya gider ve yalnızca EA'nın şu anda MT5'te olduğu gibi çalıştığı sembolden değil.

Evet, hatırladım - kütüphaneler ve ihracat bile var ... Genel olarak her şey var. :)

 
Fiyatları tam sayılara çevirmek herhangi bir özel avantaj sağlamaz. Evet, sesi etkili bir şekilde azaltır, ancak kaçınılmaz olarak ikiye katlanması nedeniyle birçok kez hız kaybeder. Tam olarak kaçınılmaz olan, tüm sistemi tamsayı yapmak mümkün olmayacağından, hesaplanabilir matematiğin hala çift olarak yapılması gerekecektir (ki bu yeterince doğru bile değildir).

Tamsayı (kısa kısa bile olsa) veriler hiçbir bölme ve çarpma işleminde kullanılamaz. Kesirli değerleri 15 karakterde saklamak için nerede var? Benzer şekilde, hassasiyetten tamamen yoksun bir şamandıra kullanmak tehlikeli ve intihara meyilli. Şamandıradaki birikmiş hataların miktarı, göstergeleri hesaplamak için asla kullanılmaması gerektiği kadardır.

Acemi geliştiriciler bunun farkında değil. Henüz karmaşıklığın tam boyutunu görmüyorlar.
 
Renat :
Fiyatları tam sayılara çevirmek herhangi bir özel avantaj sağlamaz. Evet, sesi etkili bir şekilde azaltır, ancak kaçınılmaz olarak ikiye katlanması nedeniyle birçok kez hız kaybeder. Tam olarak kaçınılmaz olan, tüm sistemi tamsayı yapmak mümkün olmayacağından, hesaplanabilir matematiğin hala çift olarak yapılması gerekecek (ki bu yeterince doğru bile değil).

Tamsayı (kısa kısa bile olsa) veriler hiçbir bölme ve çarpma işleminde kullanılamaz. Kesirli değerleri 15 karakterde saklamak için nerede var? Benzer şekilde, hassasiyetten tamamen yoksun bir şamandıra kullanmak tehlikeli ve intihara meyilli. Şamandıradaki birikmiş hataların miktarı, göstergeleri hesaplamak için asla kullanılmaması gerektiği kadardır.

Acemi geliştiriciler bunun farkında değil. Henüz karmaşıklığın tam boyutunu görmüyorlar.
"O" optimize edicide, her şey sizinkiyle aynıdır - iki katına çıkar. Ama kullanımın imkansızlığı hakkında söyledikleriniz - belki. Rağmen... ? - puan cinsinden fiyat, puan cinsinden göstergeler, puan cinsinden her şey ... bu, her durumda NOKTA'nın eşit olduğu şeydir - yani, belirli bir türle (inekler, kilometreler ve vb) ve onun puanları. Yani tamsayılarda her şey mükemmel bir şekilde çözülür. Burada yanılıyorsunuz. :)