Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 153
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
ArrayReverse yardımından:
ArraySetAsSeries () işlevi , dizi öğelerini fiziksel olarak hareket ettirmez, ancak bir timeseride olduğu gibi öğelere erişimi düzenlemek için yalnızca dizin oluşturma yönünü tersine çevirir . ArrayReverse() işlevi, bir dizinin öğelerini, dizi "ters çevrilecek" şekilde fiziksel olarak hareket ettirir.
Ancak bu kod aksini kanıtlıyor:
Niye ya? Her şey doğru.
Numaralandırmanın bir zaman serisindeki gibi olduğu bir dizi ile uğraşıyorsak, yani. sıfır çubuğu en sonuncusu ve sonuncusu en erken olanı, o zaman yeni bir eleman eklendiğinde, sonuncunun yanında yer alacaktır, yani. en erken.
Ve dizi bir zaman dizisindeki gibi numaralandırılmamışsa, o zaman sıfır elemanı en erken ve son eleman en sondur. Bu nedenle yeni bir eleman eklerken en güncelin yanında olacaktır.
Testinizde neler oluyor.
Kanıt nerede - anlamıyorum. Bu genel olarak nasıl kanıtlanabilir ve dizinin başlangıcının bellekte nerede olduğunu ve artım adımının ne olduğunu - pozitif veya negatif - nasıl bulabilir.
Bu yalnızca bir diziyi geçen ve işaretçiler kullanan bir dll ile kanıtlanabilir.
Genel olarak, bu işlemin yürütme süresini ölçerek kanıtlamak daha kolaydır. 100.000.000 elemanlı bir dizi anında "dönerse", o zaman transfer olmadığı, sadece başlangıç değişikliklerine ve artış değişiklikleri işaretine yapılan referansın olduğu açıktır.
işlevi her zaman kullanırım ArraySetAsSeries() ve zaman açısından tamamen ücretsiz olduğunu görüyorum. Yani yanılıyorsunuz.
Dürüst olmak gerekirse, hızlı bir işlev olduğunda neden yavaş ArrayReverse işlevine ihtiyaç duyulduğunu anlamıyorum. ArraySetAsSeries()
ArrayReverse yardımından:
ArraySetAsSeries () işlevi , dizi öğelerini fiziksel olarak hareket ettirmez, ancak bir timeseride olduğu gibi öğelere erişimi düzenlemek için yalnızca dizin oluşturma yönünü tersine çevirir . ArrayReverse() işlevi, bir dizinin öğelerini, dizi "ters çevrilecek" şekilde fiziksel olarak hareket ettirir.
Ancak bu kod aksini kanıtlıyor:
AsSeries bayrağına sahip bir dizi için bellek yeniden tahsisiniz var, elbette bunu hesaba kattılar. Böyle bir şeye sahip olmalılar:
AsSeries bayrağına sahip bir dizi için bellek yeniden tahsisiniz var, elbette bunu hesaba kattılar. Böyle bir şeye sahip olmalılar:
Evet, dikkate aldılar. Ancak bu davranış CopyRates() ile eşleşmiyor:
Alıcı dizinin hangi özelliğe sahip olduğu önemli değildir - as_series=true veya as_series=false, veriler, zaman içindeki en eski öğe dizi için ayrılan fiziksel belleğin başlangıcında olacak şekilde kopyalanacaktır.
Ve ayrıca ArrayCopy() için:
sayı<0 veya sayım>src_size-src_start ise, dizinin geri kalanı kopyalanır. Diziler soldan sağa kopyalanır. Seri diziler için, soldan sağa kopyalama dikkate alınarak başlangıç konumu doğru şekilde yeniden tanımlanır.
Hafif bir şoktayım. Java'da bir test yazdı. Java'nın neredeyse C kadar hızlı olduğu ve bu nedenle MQL5'ten biraz daha hızlı olduğu ortaya çıktı.
Nasıl yaptıklarını anlamıyorum, aslında bir tercüman dili.
Python ile aynı olup olmadığını merak ediyorum?
Bu, elbette, MQL5'in kötü olduğu anlamına gelmez. Java çok havalı.
Bir şey gözden kaçmış gibi görünüyor. Ne zamandan beri tercümanlar derleyicilerin hızına yetişti?...
Bunun ancak kısmi derleme yardımı ile mümkün olduğu görülebilir, yani. tercümanlar temiz değildir.
Hafif bir şoktayım. Java'da bir test yazdı. Java'nın neredeyse C kadar hızlı olduğu ve bu nedenle MQL5'ten biraz daha hızlı olduğu ortaya çıktı.
Nasıl yaptıklarını anlamıyorum, aslında bir tercüman dili.
Python ile aynı olup olmadığını merak ediyorum?
Bu, elbette, MQL5'in kötü olduğu anlamına gelmez. Java çok havalı.
Bir şey gözden kaçmış gibi görünüyor. Ne zamandan beri tercümanlar derleyicilerin hızına yetişti?...
Bunun ancak kısmi derleme yardımı ile mümkün olduğu görülebilir, yani. tercümanlar temiz değildir.
MQL aynı zamanda bir tercümandır.
Hafif bir şoktayım. Java'da bir test yazdı. Java'nın neredeyse C kadar hızlı olduğu ve bu nedenle MQL5'ten biraz daha hızlı olduğu ortaya çıktı.
Nasıl yaptıklarını anlamıyorum, aslında bir tercüman dili.
Python ile aynı olup olmadığını merak ediyorum?
Bu, elbette, MQL5'in kötü olduğu anlamına gelmez. Java çok havalı.
Bir şey gözden kaçmış gibi görünüyor. Ne zamandan beri tercümanlar derleyicilerin hızına yetişti?...
Bunun ancak kısmi derleme yardımı ile mümkün olduğu görülebilir, yani. tercümanlar temiz değildir.
Java bayt koduna çevrilmiş olsa da, kendi yürütme sanal makinesine (JVM) sahiptir.
Tercümanlı diğer dillerin aksine, dil de güçlü bir şekilde yazılmıştır.
Büyük olasılıkla güçlü yazma ve JVM, talimatların ekipmana hızlı bir şekilde yürütülmesi ve iletilmesinin nedenidir.
Amerikan ticaret terminallerinin Java ile yazılması boşuna değil. Chicago borsası CME Group, resmi olarak Java ile yazılmış bir terminal sağlar.
Bir programcı bir keresinde bana Java dilinin köklerinin telekomünikasyon endüstrisinde olduğunu söylemişti.
Ve telekomünikasyon alanı, başlangıçta işleme ve veri iletim hızı gerektirir.
Evet ve Oracle'ın bu dilin geliştirilmesi için kendi topluluğu var.
Yani dil yaşıyor ve Oracle topluluğu tarafından sonlandırılıyor.
Bu arada, Quik markası ve LUA dili de Amerikalılar tarafından geliştirildi.
Ancak tüylü 90'larda, Rusya Federasyonu'nda başarıyla birleştirildi (satıldı).
O yıllarda, amers zaten LUA'nın gelecekteki bir gelişimi olmadığını anlamıştı.
Birliğin dağılmasından sonra döviz piyasasının yeni şekillenmeye başladığı Rusya Federasyonu'na başarılı bir şekilde soktular.
Hafif bir şoktayım. Java'da bir test yazdı. Java'nın neredeyse C kadar hızlı olduğu ve bu nedenle MQL5'ten biraz daha hızlı olduğu ortaya çıktı.
Nasıl yaptıklarını anlamıyorum, aslında bir tercüman dili.
orada, model .Net'teki gibidir - kaynak bayt koduna derlenir, aynı zamanda bir yorumlayıcı olur ve belirli bir bilgisayarda bayt kodunu açarken, yürütüleceği sanal ortam için yerel kod zaten oluşturulur , yani bu zaten derlenmiş kod olacak
https://habr.com/ru/post/107585/
Google'dan Java hakkında "Java derleyicisi veya yorumlayıcısı" - benzer makaleler olacak
MQL aynı zamanda bir tercümandır.
Gerekçe?
Hafif bir şoktayım. Java'da bir test yazdı. Java'nın neredeyse C kadar hızlı olduğu ve bu nedenle MQL5'ten biraz daha hızlı olduğu ortaya çıktı.
Nasıl yaptıklarını anlamıyorum, aslında bir tercüman dili.
Python ile aynı olup olmadığını merak ediyorum?
Bu, elbette, MQL5'in kötü olduğu anlamına gelmez. Java çok havalı.
Bir şey gözden kaçmış gibi görünüyor. Ne zamandan beri tercümanlar derleyicilerin hızına yetişti?...
Bunun ancak kısmi derleme yardımı ile mümkün olduğu görülebilir, yani. tercümanlar temiz değildir.
Ama hiçbir soru yoktu - başlamak ne kadar sürer? ne kadar bellek yaktı ve JVM kod baytlarını derlemek için kaç tane iş parçacığı başlattı? "Anında" merhaba dünya derleyen bir canavar başlattım, sonuç olarak hem orada hem de orada yerli. C dışında bir canavar yok. Ve piton hakkında
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
MetaTrader 5 Python Kullanıcı Grubu - Metatrader'da Python nasıl kullanılır
Mağdur , 2019.12.07 07:12
Python ile ilgili olarak , geçenlerde içinde yazılı olan ranger (dosya yöneticisi) hakkında konuştum. Birkaç gün kullandım, izlenimler ilginç özelliklere sahip harika bir fikir, ancak bir pitonda gerçekten aptalca (arka planda bazı karmaşık görevler gerçekleştirilirse). Yıkıldı, xs neden bu piton insanları böyle yerleştiriyor. Bir sishka'ya benzer bir zanaat koydum .Pekala, sorun değil - bir araba dolusu RAM'e sahip çok çekirdekli bir sayı kırıcı satın almak ve bu testte java/sharp/... Xi'ye asla yetişemeyecekler. İlerleme, 80'lerden Tetris'i alın, Sharp'ta yeniden yazın ve eskisi kadar hızlı sürün, ancak 60 çekirdekli bir CPU ile)).
Not: Elbrus'ta iki iş parçacığının yalnızca x86 talimatlarından çeviriyle nasıl meşgul olduğuna benzer. Kolilerin Belaz ile taşınması.