MetaTrader 4 Client Terminal 387 ve MetaTrader 4 Data Center build 387'nin yeni versiyonu - sayfa 10

 
nen :

Bu bir görsel mod hatası değildir. Bu tam olarak gösterge arabelleklerinin sıfırlanmasıdır - 388 sürümüyle arabelleklerin yeniden başlatılması.

Ne yazık ki yanılıyorsunuz. Bu, IndicatorCounted() adlı mekanizmanın düzenli bir işlemidir - geçmiş önemli ölçüde değiştiğinde gösterge arabelleklerini sıfırlama (bu mekanizma tüm yapılarda vardı).

Bu durumda, görsel modda bir hata ortaya çıktı (gerçekte bunu bir hafta içinde bulamadım). Ne tür bir hata daha önce tarif ettim.

 
AlexSTAL :
Aşağıda bu davranışın nedenini tam olarak buldum.

Kontrol ettiğiniz için teşekkürler, şimdi hangi yolu kazacağınız açık.

Güncellemeyi en kısa sürede bulmaya, düzeltmeye ve yayınlamaya çalışacağız.

 
AlexSTAL :
Görüyorsun - kendin cevapla

Bir hata yaptım, son gelişmelerde IndicatorCounted() kullanılmıyor. ZUP'ta sadece geçerlidir. Ayrıca bu yeniden başlatmayı yakalamaz.
 
Terminalde ve son yapıda yani iBands göstergesinde sapma 0.8 parametresini belirtirken 0 setlerinde bir bug olduğunu bildirmek istiyorum. 1'den küçük herhangi bir gösterge 0 koyar. Bu parametrenin int'ye atıfta bulunduğunu ve bir tamsayı olması gerektiğini anlıyorum.Fakat bir grafiğe bir gösterge eklerken sapma değeri 1'den küçük ayarlanabilir. Tabloya 1'den az koymak neden mümkün, ancak Uzman Danışmanda değil ...... veya nasıl yenilir ..............
 
VOLDEMAR :
Terminalde ve son yapıda yani iBands göstergesinde sapma 0.8 parametresini belirtirken 0 setlerinde bir bug olduğunu bildirmek istiyorum. 1'den küçük herhangi bir gösterge 0 koyar. Bu parametrenin int'ye atıfta bulunduğunu ve bir tamsayı olması gerektiğini anlıyorum.Fakat bir grafiğe bir gösterge eklerken sapma değeri 1'den küçük ayarlanabilir. Tabloya 1'den az koymak neden mümkün, ancak Uzman Danışmanda değil ...... veya nasıl yenilir ..............
Hatırladığım kadarıyla hep böyleydi. Değilse, o zaman Slava (stringo) beni düzeltecektir.
 
VOLDEMAR :
Terminalde ve son yapıda yani iBands göstergesinde sapma 0.8 parametresini belirtirken 0 setlerinde bir bug olduğunu bildirmek istiyorum. 1'den küçük herhangi bir gösterge 0 koyar. Bu parametrenin int'ye atıfta bulunduğunu ve bir tamsayı olması gerektiğini anlıyorum.Fakat bir grafiğe bir gösterge eklerken sapma değeri 1'den küçük ayarlanabilir. Tabloya 1'den az koymak neden mümkün, ancak Uzman Danışmanda değil ...... veya nasıl yenilir ..............

Evet. geçirilen parametrelerin türüne bakın.

o int

bu yüzden iCustom BBands kullanın

 
sergeev :

Evet. geçirilen parametrelerin türüne bakın.

o int

bu yüzden iCustom BBands kullanın

bu nasıl kullanılır?????

Hiç kullanılmamış...

 
VOLDEMAR :

bu nasıl kullanılır?????

Hiç kullanılmamış...

İşte başlamak için iyi bir yer. her zaman ilk kez bir şey vardır. :)
 

Genel olarak konuşursak, sorun burada tartışılandan biraz daha geniştir. terminal, açıkça, terminale şu anda ne yaptığını doğrudan "sorabileceğiniz" bir kod (bir dizi bit) döndürmesi gereken GetTerminalState gibi bir işlevden yoksundur ? örneğin, IsConnected (bu arada, yeniden girişlerden sonra sonucu her zaman doğru döndürmez) yalnızca evet veya hayır bildirir. detaylandırmak isterim:

- çevrimdışı (bağlanmaya çalıştım, çalışmadı, hiçbir şey yapmıyorum)

- bağlanmak (bağlanmaya çalışmak)

- bağlandı (sunucuyla bağlantı var)

İkinci durumda, açıklamalara da ihtiyaç vardır:

- HistoryOrdersLoading, HistoryOrdersLoaded (yüklendi, tüm sipariş geçmişini yükledi. Büyük geçmişler için çok zaman alır ve terminalin zaten TÜM geçmişine sahip olduğunu bilmek isterim)

GeçmişBarlarYükleniyor, GeçmişBarlarYüklendi

emirleri işlerken, bir emir açma komutunun gönderildiğini bilmek hiç de gereksiz değildir ve şimdi terminal bir emrin açılmasını, değiştirilmesini veya kapatılmasını bekliyor. Ne de olsa, bir emir hiçbir zaman anında uygulanmaz ve terminalin şu anda tam olarak ne düşündüğünü bilmek güzel olurdu (tikler devam ediyor ve terminal bir nedenden dolayı ticaret yapmıyor - neden?);)

çalışma izni/uzman ticareti ile ilgili durumlar da burada "paketlenebilir".

 
nen :

İyi.

Görsel testler yapıyorum. Hareketli Ortalama Uzman Danışman.

ZUP'u yükleyin.

Euro. Saatler.

Yayılan kodumun geçmiş sayfalamayı takip ettiğini unutmayın. Yani, geçmiş değiş tokuş edildiğinde yeniden başlatma gerçekleşir.

Bu konunun başında bir kod parçası yayınladım. Hepsi optimizasyon.

resimleri yayınlıyorum. "Aşırı büyümüş" kodum resim çizmek içindir, hepsi bu. Oto alım satımı yapmıyor. Ve resimler yanlış çizilirse, bu bir hatadır.

İlk resim. Küçük hikaye. Bir ışın belirdi. Herşey yolunda.

Testin başlamasından hemen sonra, birkaç zikzak ışını çizildi, bir kelebek çizildi. Uçuş normal.

Daha fazla uçuyoruz. SİZİN yeniden başlatma gerçekleşti. Program bunu izleyemez. YENİDEN BAŞLATILMAYI İZLEMEK İÇİN DÜZENLİ BİR OLANAK YOKTUR.

Hesaplamaların optimizasyonu etkinleştirildiğinden ve tam bir yeniden hesaplama için sinyal olmadığından, buna göre sonucu görüyoruz:

Biraz yeni bir tarih birikmiştir. Zigazag'ın bir ışını çizildi:

Göstergeyi şimdi yeniden kurarsak, ilk başlatma gerçekleşecek ve her şey şöyle görünecektir:

Vb. Gösterge arabelleklerinin YENİDEN BAŞLATILMASINI izlemek için standart özellikler yoktur.

Ve her kene üzerindeki göstergeyi yeniden hesaplama konusunda endişelenmeyin. Böyle vahşetleri kendin yap. Uzun zamandır bu ruhla çok şey yaptınız. Ve size yıllar boyunca birçok böcek hakkında ne kadar anlatsak da, size ulaşmadı. Ve şimdi, birçok programcı sizinle savaşmaktan bıktığında ve hatalarınız için kendi geçici çözümlerini yaptığında, kötülüğü düzenlemeye başlarsınız.

Kodunuz daha da büyüdü. Ve yeniliklerinizin sonuçları hakkında zayıf bir fikriniz var.

Daha fazla test ediyoruz.


Yine, yeniden başlatmanız birkaç kez geçti. Ve şöyle görünmelidir:

Çoğalması zor mu? Yoksa arzu yok mu?

Ve sonra her şeyi aynı ruhla test ederken.

Hasta bir kafadan sağlıklı bir kafaya atmak gerekli değildir. Kod büyüdü.

-------

Sonuç olarak, tekrar edeceğim. Kendim için endişelenmiyorum. Kendim için, herhangi bir hatanızı programlı olarak atlayabilirim. Ancak çok sayıda olan kullanıcılar bunu yapamayacak.

Ekleyeceğim. Henüz hiçbir göstergemi satmadım, tek bir ücretli geliştirme yapmadım. Metaquotes şirketi her şeyi 387-388 yapısında olduğu gibi kökten değiştirebildiğinde, dışarıdan hiç kimsenin MQL(*) dillerini kullanarak normal bir geliştirme işi kuramayacağını düşünüyorum. Henüz üçüncü taraf geliştiricilere istikrarlı bir geliştirme tabanı sunamazsınız.

Ve şu anda dillerinizi kullanan tüm ücretli gelişmeleri bir tür aldatmaca olarak görüyorum.


Her şeyi anlatıldığı gibi yaptı. Ama bazı değişikliklerle.

  1. İstemci terminalinde, BİZİM arabelleklerimiz yeniden başlatıldığında çıktıyı günlüğe koyun
  2. ZUP göstergesinde kelebek çıkarıldığında çıktısını alıyorum.

İşte günlük.

 15 : 45 : 16 Compiling 'ZUP_v92'
15 : 45 : 16 ZUP_v92 EURUSD,H1: loaded successfully
15 : 45 : 40 ZUP_v92 EURUSD,H1: initialized
15 : 45 : 40 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1095   IndicatorCounted= 0
15 : 45 : 40 ZUP_v92 EURUSD,H1: triangle deleted
15 : 45 : 40 ZUP_v92 EURUSD,H1: triangle deleted
15 : 45 : 40 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 45 : 40 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1095   IndicatorCounted= 0
15 : 45 : 40 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 45 : 40 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1095   IndicatorCounted= 1094
15 : 45 : 41 custom indicator ZUP_v92 EURUSD,H1 buffer reinitialize
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1001   IndicatorCounted= 0
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1001   IndicatorCounted= 0
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1001   IndicatorCounted= 1000
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1001   IndicatorCounted= 1000
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1001   IndicatorCounted= 1000
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1001   IndicatorCounted= 1000
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1001   IndicatorCounted= 1000
15 : 45 : 41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
...
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 46 : 07 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 07 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 08 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 46 : 08 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1007   IndicatorCounted= 1006
15 : 46 : 08 ZUP_v92 EURUSD,H1: triangle deleted
15 : 46 : 08 ZUP_v92 EURUSD,H1: triangle deleted
...
15 : 55 : 15 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 15 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1036   IndicatorCounted= 1035
15 : 55 : 15 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 15 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 23 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1036   IndicatorCounted= 1035
15 : 55 : 23 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 23 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 23 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1036   IndicatorCounted= 1035
15 : 55 : 23 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 23 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 23 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1036   IndicatorCounted= 1035
15 : 55 : 23 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 23 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 23 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1036   IndicatorCounted= 1035
15 : 55 : 23 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 23 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1035
15 : 55 : 24 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 24 ZUP_v92 EURUSD,H1: triangle deleted
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 24 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 52 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 52 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 52 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 52 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 53 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 53 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036
15 : 55 : 53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15 : 55 : 53 ZUP_v92 EURUSD,H1: delete_objects3. Bars= 1037   IndicatorCounted= 1036

Son kelebek silme işleminden sonra (iki üçgen silinmiş satır), arabellek yeniden başlatma olmadı!

Bu arada, aynı davranış en sevdiğiniz 225 derlemenizde yeniden üretilir.