MT4'ten MT5'e aktarma sorunu. Veya daha doğrusu, MT5'te bazı algoritmaların hatasız yürütülmesinin imkansızlığı. - sayfa 12

 
Vict :

fxsaber haklı olarak söyledi - bir seçenek var

Biraz zor - EXPR iki kez hesaplanacak, ancak yine de daha esnek. Genel olarak evrensel olduğu söylenemez (sadece aritmetik türler için. Hata değeri aynı olmalı, bu hoş değil. Yapının/fonksiyonun açık bir şekilde uzmanlaşmasıyla bunu aşmaya çalıştım ama yapamıyorum.

Selamlar!

Yeni bir konu açmak istiyorum, bir problem formüle edemiyorum ... Bununla ilgili problemlerim var))) ve materyal oldukça taze ve ilginç

Bunu son noktaya getirmek için harika bir iş çıkardınız - kullanılabilirlik ( @fxsaber'de tüm başarıları bir kez tek bir eklenti ile birleştirilir) - bu pratik!

Her şeyin profesyonel görünmesi için, sözdizimini temel almanız (veya mümkün olduğunca yaklaşmanız) gerekir C++ / C#

 
Artyom Trishkin :

fikrimi söyleyebilirim:

Şu anda sahip olduğumuzdan sakince yapıyoruz, sızlanmıyoruz, hataların aranmasına yardımcı oluyoruz ve düzeltme beklentisiyle soruyoruz - hala düzeltiliyorlar ve yeni güzel özellikler ortaya çıkıyor.

Bu yaklaşıma katılıyorum.

---------

İlk sürümlerden kısmen önbellek gibi bir şeye sahiptim. Yani ilk 10 zikzak ekstremum için zamana, minimum değerlere ve maksimum değerlere sahip diziler oluşturuldu.

MT5 versiyonunda ayrıca bar numaralı bir dizi ekledim. İlk 10 aşırı uç için. Bu çoğu durumda yardımcı olur. MT5'te yalnızca standart olmayan bağlamalar sorun yaşar.

21 zaman diliminin tümü için mevcut geçmiş için tam bir önbellek oluşturmayacağım. Bu yaklaşımla, bilgisayar belleği yeterli değildir.

Anlamak için şunu söyleyeceğim: bazı meraklılar, bir grafikte MT4 göstergesinin 9 kopyasına kadar gösteriyor. Aynı zamanda, çeşitli döviz çiftleri için açık olan birçok grafik vardır. Ve hepsinde, göstergenin 9 kopyası görüntülendi. Bu gösterge uygulaması Putniuk tarafından oluşturulan DML&EWA sistemi için uygulanmaktadır. Göstergenin 72 örneğine kadar kendisi görüntüledi. Yani, 8 döviz çiftinde.

Bu kullanımla, 28 arabellek ile birlikte ek bir 21 TF önbellek, belleği yoğun bir şekilde yükler.

Bu sadece bellek yükünü hesaba katar. iTime, iLow, iHight, iClose, iBarShift yerine önbelleği kullanmak için büyük kodu yeniden çalışmak çok sıkıcı

=================

Bu maratonları birkaç kez koştum.

1. Ana programın gövdesine birkaç harici zikzak göstergesi dahil etmek için bir maraton. Piyasanın programı kabul etmesi için dış göstergelerden kurtuldum.

2. Tüm tek tamponlu zikzakları çift tamponlu olanlara dönüştürmek. Bu yaklaşık altı ay sürdü.

3. Bir grafik arayüzünün oluşturulması . Toplamda yaklaşık 2 yıl sürdü. Yıl 3. Ve grafik arayüz için hala ilginç fikirler var. Ancak bunların uygulanması için ruh yeterli olmasa da ...

4. Başlangıçta bir yıl önce MT4'ten MT5'e geçiş yapmaya çalıştı. Sonra işe yaramadı. Şimdi işe yaradı. Ancak çeviri kalitesinden memnun değilim.

Başka maratonlar da vardı.

Önbellek oluşturmak bir çıkmaza yol açabilir. Bununla uğraşmak tehlikeli...

------------

Artem, yaklaşımını tamamen destekliyorum (yukarıda alıntılandı).

 
Yine ilk yazıdan bir alıntı:

...MQL5 dil referansından alıntı. Değerlendirme Tablosu Verilere erişimin organizasyonu.

"...veri kullanılabilirliği

HCC formatında veya hatta kullanıma hazır HC formatında verilerin mevcudiyeti, her zaman bu verilerin bir çizelge üzerinde görüntülenmesi veya mql5 programlarında kullanım için koşulsuz mevcudiyeti anlamına gelmez.

mql5 programlarından fiyat verisine veya gösterge değerlerine erişirken , bunların belirli bir zamanda veya belirli bir zamandan itibaren bulunmalarının garanti edilmediğini unutmayın ..."

-------------

Sorun devam ediyor.

Program, programın farklı bölümlerindeki alıntıların geçmişine birkaç yüz çağrıya sahiptir. Program listesi yaklaşık 50.000 satır uzunluğundadır.

Bazen, geçmiş erişiminin doğası gereği, -1 döndürülür. Sonuç olarak, bir hata oluşur - sınırların dışında bir dizi. Başka hatalar da var. Programın bazı bölümlerinde, geçmişe erişirken olası bir -1 dönüşünü kontrol ettim. Bu durumda -1 alındığında, grafik yapıların tek tek elemanlarının çizimi gerçekleşmez. Koda birkaç yüz kontrol eklerseniz, tarihe erişimin özellikleri nedeniyle zaten var olan frenler olacaktır.

MT5 için bir program oluşturabilirsiniz. Ancak bunun için tüm mimariyi değiştirmek gerekiyor. Bu tür başarılar için zaman yok.

Aptalca şeyler yapmamaya karar verdi. Program MT4'te çalışır. Ve MT5'e geçmeyi planlamıyorum. ZUP'u MT5 altında ücretsiz yaptı.

Herkes indirebilir ve çalışmalarına MT5 altında bakabilir. Ayrıca MT4 altındaki seçenekle de karşılaştırın.

MT5 ile uğraşmayı bıraktığım yer burası. Bu sadece zaman kaybı.

Diğer bazı forumlarda benzer mesajlar yayınlandı.

 
Renat Fatkhullin :
Verilerin erişilemezliğini tekrarlanabilir bir şekilde gösterebilir misiniz?

Tekrarlanabilir kanıt olmadan iddiada bulunuyorsunuz.

Servis masası, sorunun nasıl yeniden oluşturulacağını açıkladı. Sorunu yeniden oluşturmak için kaynak kodları vardır.

==========

MQL5 dil belgelerindeki metin https://www.mql5.com/en/docs/series/timeseries_access :

Veri kullanılabilirliği

HCC formatında veya hatta kullanıma hazır HC formatında verilerin mevcudiyeti, her zaman bu verilerin bir çizelge üzerinde görüntülenmesi veya mql5 programlarında kullanım için koşulsuz mevcudiyeti anlamına gelmez.

mql5 programlarından fiyat verilerine veya gösterge değerlerine erişirken, bunların belirli bir zamanda veya belirli bir noktadan mevcut olmalarının garanti edilmediğini unutmayın. Bunun nedeni, kaynakları korumak için MetaTrader 5'in mql5 programı için gerekli verilerin tam bir kopyasını saklamaması, ancak terminal veritabanına doğrudan erişim sağlamasıdır.


Rusçaya çevrilen bu metin şu anlama gelmektedir. Herhangi bir zamanda ne yaparsanız yapın, verilere erişim mümkün olmayabilir.

Yani, veri erişimi kesintisinden kaynaklanan hatalardan kaçınmanın bir yolu yoktur.

Ben bu metni böyle algılıyorum.

Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
  • www.mql5.com
MetaQuotes Language 5 (MQL5) - язык программирования технических индикаторов, торговых роботов и вспомогательных приложений для автоматизации торговли на финансовых рынках. MQL5 является современным языком высокого уровня и разработан MetaQuotes Software Corp. для собственной торгово-информационной платформы. Синтаксис языка максимально близок...
Neden: