Hatalar, hatalar, sorular - sayfa 250

 

27.12.2010 tarihli yapı 373'te, başka bir çizelge periyoduna geçilirken çubuk başlangıç zamanı yanlış belirlendi. Örneğin, Expert Advisor M1'de çizelgeye düşürüldüyse, M5'e veya başka bir döneme geçerken, M1 için çubuk başlangıç zamanı yine de döndürülür. Önceki sürümde böyle değildi...

void OnTick()
  {
if(CopyTime(Symbol(), NULL, 0, 3, Time)<0) {Print("Не удалось скопировать Time!"); return;};
ArraySetAsSeries(Time,true);
Print("Time[0] = ",Time[0], "   Time[1] = ",Time[1] ) ;  
  }


 
Yedelkin :

ChartGetInteger işlevinin ikinci türeviyle çalışan var mı:

? Görünen o ki, mülkün değeri alıcı değişkene aktarılmıyor. En azından yapı kullanılırken bu davranış gözlemlenir

İşlev true değerini döndürür, ancak windows alma değişkeni, bu değişken başlatıldığında alınan değeri içerir. Bu durumda, fonksiyonun ilk versiyonu doğru değeri üretir. (Önemli değil: alıcı değişken long türüyle bildirilirse, derleyici bir uyarı verir).

İşlevle doğru çalışmıyorsunuz. Okuma yardımı:

1. Doğrudan özelliğin değerini döndürür.

uzun ChartGetInteger (
    uzun    chart_id , // grafik kimliği
    int     prop_id , // özellik kimliği
    int     alt_pencere=0        // gerekirse alt pencere numarası
);

2. İşlevin başarısına bağlı olarak doğru veya yanlış döndürür. Başarılı olursa, özellik değeri, son parametre olarak referans tarafından geçirilen alıcı değişkene yerleştirilir.

bool ChartGetInteger (
    uzun      chart_id , // grafik kimliği
    int       prop_id , // özellik kimliği
    int       sub_window , // alt pencere numarası
    uzun&     long_var         // özellik değerini buradan al
);


İşlev bir boole döndürür ve değişkene yalnızca işlevin herhangi bir seçenek olmadan 4 bağımsız değişkeni varsa bir değer atar.

 
MIK :

27.12.2010 tarihli yapı 373'te, başka bir grafik dönemine geçilirken çubuk başlangıç zamanı yanlış belirlendi. Örneğin, Expert Advisor M1'de çizelgeye düşürüldüyse, M5'e veya başka bir döneme geçerken, M1 için çubuk başlangıç zamanı yine de döndürülür. Önceki sürümlerde böyle değildi...

void OnTick()
  {
if(CopyTime(Symbol(), NULL, 0, 3, Time)<0) {Print("Не удалось скопировать Time!"); return;};
ArraySetAsSeries(Time,true);
Print("Time[0] = ",Time[0], "   Time[1] = ",Time[1] ) ;  
  }



Haklısın, bir yanlışlık var.

Zaman dilimi değiştiğinde Expert Advisor yanlış sıfırlanıyor... Gelin bir bakalım.

 

En son yapı 373 (mt5) beni şaşırttı. Tekliflerin güncellenmesi, m-y'de bir kesinti sağlamaz

1 ve 12 ay ve bu kadar. Kaldırılan para birimi fiyatları (2010.hcc ve önbellekte)

ve sadece kayıtları girer. Belki yanlış bir şey yaptım.


Bugün, yapı 373 ile forumunuzdaki bağlantıdan indirildi (başka bir sunucu seçin

etkilemez)

 
alexluek :

En son yapı 373 (mt5) beni şaşırttı. Tekliflerin güncellenmesi, m-y'de bir kesinti sağlamaz

1 ve 12 ay ve bu kadar. Kaldırılan para birimi fiyatları (2010.hcc ve önbellekte)

ve sadece kayıtları girer. Belki yanlış bir şey yaptım.


Bugün, yapı 373 ile forumunuzdaki bağlantıdan indirildi (başka bir sunucu seçin

etkilemez)

Ve yine de, daha spesifik olun.

Hangi sunucu, hangi karakter?

 

Evet, resimde burada ve herhangi bir sunucuyu seçiyorsunuz (standart olanlardan)

Terminalden 3 saatliğine ayrıldım M5, geliyorum ve orada sadece fiyat atlamaları olmadan

Barlar. Terminali yeniden başlattı ve sadece bu 3 saat boyunca barlar.

Bugün 373 mt5 yapısıyla kurulan terminal (forumdan -

https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe


Ve işte başka bir şey - belki benim için sorunlu, ama yeni bir program seçtiğinizde,

o zaman güncelleme olmaz ve terminal yeniden başlatıldıktan sonra çubuklar görünür. Şekil 3

Ve böylece fiyat çizgisi siz yeniden başlatana kadar devam eder. Ve sadece bunlar görünüyor

hangi terminalin bu süre boyunca koştu. Belki yapmıyorum

ancak 3 kez yeniden yüklendi ve dosyaları tırnak işaretleri ile silmeye çalıştı

bir şey zaten güncellenmiyor


"Doğru zaman ölçeği" ayarlarında ve 100.000 geçmiş çubuğunda - seçti

Dosyalar:
1.JPG  65 kb
2.JPG  98 kb
3.JPG  146 kb
 
alexluek :

Evet, resimde burada ve herhangi bir sunucuyu seçiyorsunuz (standart olanlardan)

Terminalden 3 saatliğine ayrıldım M5, geliyorum ve orada sadece fiyat atlamaları olmadan

Barlar. Terminali yeniden başlattı ve sadece bu 3 saat boyunca barlar.

Bugün 373 mt5 yapısıyla kurulan terminal (forumdan -

https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe


Ve işte başka bir şey - belki benim için sorunlu, ama yeni bir program seçtiğinizde,

o zaman güncelleme olmaz ve terminal yeniden başlatıldıktan sonra çubuklar görünür. Şekil 3

Ve böylece fiyat çizgisi siz yeniden başlatana kadar devam eder. Ve sadece bunlar görünüyor

hangi terminalin bu süre boyunca koştu. belki ne yapmam

ancak 3 kez yeniden yüklendi ve dosyaları tırnak işaretleri ile silmeye çalıştı

bir şey zaten güncellenmiyor


"Doğru zaman ölçeği" ve 100.000 geçmiş çubuğu ayarlarında - seçti

Bu yüzen problem hakkında zaten 8 kez yazdım ... kendini tekrar etmeye devam ediyor ...

kimse çözmek istemiyor ... en azından açık yorum yok

 
AlexSTAL :

Bu yüzen problem hakkında zaten 8 kez yazdım ... kendini tekrar etmeye devam ediyor ...

kimse çözmek istemiyor ... en azından açık yorum yok

üzülmene gerek yok ama programcılar muhtemelen sıkılıyor

dikkate almadıkları veya kontrol etmedikleri hataları okuyun.

Genel olarak, çocuklar bunu anladıklarında bize haber verecekler. İyi şanlar...

 

Arkadaşlar hadi arkadaş olalım! alpariden indirdim

MT5 yükleyici ve orada her şey mükemmel bir şekilde güncellendi!

Muhtemelen sunucu işinde.


İşte alpari yükleyici:

Dosyalar:
mt5setup.rar  265 kb
 

Valmars , İlginç , AlexSTAL

Yorumlarınıza şaşırdım. 2 010.12.28 03:06 tarihli bir mesajda, fonksiyonun ikinci versiyonu ile bir önceki çalışmamın mantığını, hatalı bir versiyonun ortaya çıkmasının mantığını yeterince detaylandırdım, bu hatalı versiyonun sebebini öğrendim ve geliştiricilere, oluşumunun nedenini ortadan kaldırmanın bir yolunu önerdi. Yani aslında benim için de dahil olmak üzere sorun çözüldü ve çiğnendi.

4. paragrafta çok spesifik bir sonuç belirtti ve çok spesifik bir soru sordu: "Doğru mu?". Ancak, hiçbiriniz bu soruya doğrudan cevap vermediniz. Aynı zamanda, "bu neden oldu?" gibi sorular. Sormadım (çünkü ben kendim, amcaVic örneğini kullanarak, cevapları kendim buldum).

Bir profesyonelin bakış açısından, sorunun hiç de önemli olmadığını varsayabilirim. Ancak profesyonel programlamadan uzak yeni başlayanların dil ile başladığını ve çalışmaya başladığını unutmamalıyız. Ve varsayılan değerlerin inceliklerini bilmeyenler, fonksiyon aşırı yüklemeleri, derleyici sorunları, belirli durumlarda dört parametre belirtme zorunluluğu vb. Yeni başlayanlar (ben dahil) mevcut olan referans metni ile çalışırlar ve bilmediklerini tahmin etmemeye çalışırlar. Örneğin, tüm açıklamalarınız Dizine yansıtılsaydı, o zaman ne ben ne de Lizar başlangıçta sorun yaşamazdık.

Halihazırda çözülmüş bir sorun hakkında konuşmanın gerekli olduğunu düşündüyseniz, o zaman 5. paragraftaki teklifimi destekleyip desteklemediğiniz veya itiraz edip etmeyeceğiniz benim için belirsiz kaldı. Prensip olarak, bu mesajımın son mesajıydı. ilginç   sadece yanlış ifadelerin varlığı ile hemfikirdi.

Ufkumu genişlettiğin için teşekkürler.