MQL5 için dilekler - sayfa 117

 
HideYourRichess писал(а) >>
iPod'la mı ticaret yapıyorsunuz?! - Tanrı aşkına, seni hemen uyarmalıydım. Lütfen yazın, herhangi bir saçmalık belirtin - tek kelime etmeyeceğim. Artık her şey açık olduğuna göre, anlayış ve sabırla ele alacağım. iPod'unuzla işlem yapın! -ahhhhh...

Anlayışınız için teşekkür ederim ve hastalanmıyorsunuz, en azından ilerleme yok

 

MT4'te bir sorunla karşılaştım, lütfen bunun MT5'te olmadığından emin olun (kontrol etmedi).


En başta (init'ten önce) diziler verildi:

xsell[3];

xsatın al[3];


Bundan önce, harici bir değişken:

harici int Max_Array_Size = 13;


start() döngüsünde:

ArrayResize(xsell, Max_Array_Size);

ArrayResize(xbuy, Max_Array_Size);


Ve sonra for() döngüsü:


for(int kss= Max_Array_Size; kss>0; kss--) {

xbuy[kss] = . . . ;

. . .

}


Aynı şema hem Satış ( Özel Gösterge ) hem de Satın Al modüllerinde kullanıldı - yani. değişkenler farklıdır

ama prensip aynı. İlk başta satış için her şeyi yazdım, derledim - her şey yolunda, sorun yok. Sonra kopyalandı

bu modül, değiştirilen değişkenler, işaretler vb. alışveriş için - derleme çok daha uzun sürdü ve geçiş

zaman dilimleri arasında da çok daha fazla zaman almaya başladı. Satışları kapattı - hiçbir şey değişmedi, frenleme.

Sadece satış kaldı - hızlı çalışır. Derleyici şikayet etmedi, sadece çok daha uzun sürdü.

Şüpheli görünen her şeyi inceledim, satın almalarda bazı bölümleri yeniden yazdım - yavaşlıyor! ..

Sorunun dizinin boyutunda olduğu ortaya çıktı: 13 => 0-12 ve for döngüsünde onu da 13 beslemeye çalıştım!


Düzeltmeden sonra:

ArrayResize(xsell, Max_Array_Size+1);

ArrayResize(xbuy, Max_Array_Size+1);


satışlar ve satın almalar beklendiği gibi derlenmeye başlandı ve zaman dilimi geçişleri hızlı oldu.

Bu sadece derleme sırasında ortaya çıkmış olması gereken hatadır. Bu gibi durumlarda nedenini bulun

hiç de kolay değil (bir problemin varlığından haberdar olmamak mümkündü).

Ve satış modülünde her şeyin neden sorunsuz çalıştığı hala net değil.

 
chief2000 писал(а) >>

Bu sadece derleme sırasında ortaya çıkmış olması gereken hatadır. Bu gibi durumlarda sebebi bulmak hiç de kolay değildir (bir problemin varlığından haberdar olmamak mümkündü).

Derleyici tanım gereği bir değişkenin Değerlerini takip edemez ve etmemelidir.

Ve satış modülünde her şeyin neden sorunsuz çalıştığı hala net değil.

Çünkü bir hata iki veya daha fazla hatadan daha hızlı işlenir.

 
fwiq >> :

Derleyici tanım gereği bir değişkenin Değerlerini takip edemez ve etmemelidir.

Bu doğruysa çok kötü.

Sonuçta bu, daha önce tanımlanmamış bir değişkene erişmeye neredeyse eşdeğerdir.

fwiq yazdı >>

Çünkü bir hata iki veya daha fazla hatadan daha hızlı işlenir.

Hayır, bu başka bir şey - sadece satış modülü kaldığında sorun olmadığını söyledim,

ve satışları silip yalnızca satın alma işlemlerini bıraktığımda bir sorun oluştu. Her iki modülün de olması gerçeğine rağmen fark çok belirgindi.

tersine çevrilmiş bazı işlemler (>/<, Yüksek[]/Düşük[], vb.) dışında kesinlikle aynıdır.

 
chief2000 писал(а) >>

Hayır, bu başka bir şey - Sadece satış modülü kaldığında sorun olmadığını söyledim, ancak satışları silip sadece satın almaları bıraktığımda bir sorun olduğunu söyledim. Tersine çevrilen bazı işlemler (>/<, Yüksek[]/Düşük[], vb.) dışında her iki modülün de tamamen aynı olmasına rağmen fark çok belirgindi.

Belki de değişkenleri veya dizileri tanımlamakla ilgili değildir. MT4 göstergelerinde programlı olarak satır eklemeye başladığınız anları dikkatli ve doğru bir şekilde takip etmeniz ve yansıyan dizilerin isimlerini değiştirmeniz gerekir. Bazen karışıklık olur ve bu durumda olduğu gibi çizgi yansıtılamayabilir veya hesaplama donabilir. Burada "Sadece dışarı çıkıp içeri girmeniz gerekiyor ve her şey işe yarayacak" şakasında olduğu gibi sadece bir ilaç var.

 

Kelimenin tam anlamıyla, aşırı yüklenme de yardımcı olmadı.

Her neyse, satış ve satın alma arasındaki bu fark, bir sorunun varlığını tanımama yardımcı oldu..

Mutluluk olmazdı, ama talihsizlik yardımcı oldu :)

 
Başka bir sorum daha var. Göstergelerde MQL5 hata ayıklayıcısını başlatamıyorum. Her şey senaryolar ve uzmanlar üzerinde çalışır, ancak hiçbir türkiyede durmaz ve adımlardan geçemezsiniz. Belki belgelenmemiş bazı özellikler vardır, kim bilir, lütfen bana bildirin.
 
fwiq >> :
Başka bir sorum daha var. Göstergelerde MQL5 hata ayıklayıcısını başlatamıyorum. Her şey senaryolar ve uzmanlar üzerinde çalışır, ancak hiçbir türkiyede durmaz ve adımlardan geçemezsiniz. Belki belgelenmemiş bazı özellikler vardır, kim bilir, lütfen bana bildirin.

Bir hafta önce, işlemciler bunun tasarım gereği olduğunu yazdı ve hindilerde hata ayıklayıcı hata ayıklamanın daha sonra işe yarayacağını yazdı.

 

Ondalık noktadan sonra Ask veya Bid veya başka bir şeyin (Close, Open, vb.) toplanması nedeniyle MT4'te her zaman hatalar vardı.

çok sayıda sayı (1.4323111111111111 gibi). Sonuç olarak " NormalizeDouble ( Bid , Digits ) ; " eklemek zorunda kaldım.

Ancak bu, MT düzeyinde bir kez çözülebilir.

 

Lütfen ObjectFind ve ObjectDelete işlevlerini aşağıdaki gibi maskelerle çalışma yeteneğiyle tamamlayın: *,?

Temelde elbette sadece ObjectFind'i yönetmek mümkündür. Geriye dönük uyumluluğu korumak gerekiyorsa, önceki işlevi değiştirmeden bırakın ve örneğin ObjectFindM (çoklu arama) kümesini tamamlayın.

Örnek: "Sinyal" ile başlayan metin etiketleri bulmak istiyorsunuz.

Uygulama: ilk bulunan nesnenin (veya bir tanıtıcının) adını döndürür, ancak bu, onunla uygun şekilde çalışabilecek başka işlevler gerektirir)

Gösterim: ObjectFind M(" Sinyal*");

Örnek: "0" penceresinden yalnızca "Sinyal" ile başlayan metin etiketlerini kaldırmanız gerekir.

Gösterim: ObjectDelete(0," Sinyal*");


Neden: