Hatalar, hatalar, sorular - sayfa 2636

 
Koldun Zloy :

Ben bir geliştirici değilim, ama yorum yapacağım.

Statik bir dizi için, derleyici zaten derleme sırasında bellekte belirli sayıda bayt tahsis etmelidir.

Derleme zamanında satır ve sütun bilinmiyorsa, derleyici ne kadar bellek ayırmalıdır?

İlk değerler, yalnızca çağrıldığında parametreler atlanırsa kullanılır. Gerçek parametreler yalnızca çalışma zamanında bilinir.

Yani, şaka yok, dili öğrenin.

Yüksek sesle akıl yürütme, ancak bu, geliştiriciye hitap ediyor.
Bu nedenle, Zloy'u kişisel olarak almayın.

Dinamik matrislerle çalışmanın ancak nesneler veya yapılar aracılığıyla mümkün olduğu ortaya çıktı. Genel olarak, başka bir koltuk değneği elde edilir.
Mql'de bir değişkene işaretçi yoktur, nesne yaklaşımını kullanmaya devam eder, orada işaretçiler vardır.
Dinamik matrisleri kullanmak için kullanıcının OOP'yi bilmesi ve işaretçilerle ve hatta MQL uygulamasında bile çalışması gerektiği ortaya çıktı.
Bu tür bilgiye sahip kaç kişi var? Cevabı kendin biliyorsun. Nesne yaklaşımıyla uğraşmak benim için zor olmayacak ama OOP bilmeyenler için
özellikle dinamik matrislerle çalışmak için dili kullanmak için yapay bir eşik oluşturulur.
Bana öyle geliyor ki geliştirici, tam tersine, dilin kullanımını basitleştirmek ve karmaşık hale getirmekle ilgilenmeli.
Yani, kullanıcının dille rahat çalışması için ihtiyaç duyduğu işlevleri geliştirmek.
Ve dahası, neredeyse sayısal yöntemlerin temeli olan matrislerle.

Bu nedenle, bariz bir dilek var, lütfen sadece ArrayResizeMx(A, n, m) matrisleri için ArrayResize gibi fonksiyonlar yapın.
iyi ve çok boyutlu için mümkündür. Yani, nesnelerde olduğu gibi matrislerle değil, tanıdık C-tarzı dizilerde olduğu gibi çalışma fırsatı verin.
Özellikle matrislerin görsel gösterimi için, ArrayPrint(A, 0) işlevi bir nesneden değil dizilerden bir matris yazdırır.

 
Roman :

2012'de dinamik çok boyutlu dizilerle ilgili sorun başarıyla çözüldü...
İşte ilgili konu: https://www.mql5.com/ru/forum/6729

Artık kod, şablonlar için destek eklenerek geliştirilebilir.

 
Sergey Dzyublik :

2012'de dinamik çok boyutlu dizilerle ilgili sorun başarıyla çözüldü...
İşte ilgili konu: https://www.mql5.com/ru/forum/6729

Artık kod, şablonlar için destek eklenerek geliştirilebilir.

Konu kısa olduğu için baştan sona okudum.
Yani konuyu başlatan kişi başarısını açıklamadı!
Bir tür alay konusu, konuyu takip etti ve ortadan kayboldu.
Ve bu yine OOP'ye daldırmadır, başlatılmamışlara girişe izin verilmez.
Yuri kararını verdi, bunun ne kadar doğru olduğunu kimse bilmiyor.
Hangisinin bitirilmesi ve bitirilmesi gerekiyor. Kim yapacak? Henüz takımı bitirmedikleri için kimse haklı değil.

Bu nedenle, geliştiriciden hazır dinamik matrislerle çalışmak için işlevlere ihtiyacımız var.
Geliştirici konuyu daha iyi bilir ve sarmalayıcılar olmadan bellek ayırma çok daha iyi ve daha hızlı görünür.
Evet, en az bir işlev ArrayResizeMx(A, n, m, k) ve sonra nesnelerle değil, C stilindeki dizilerle çalışmak mümkün olacaktır.

 
Roman :


Ve bu yine OOP'ye daldırmadır, başlatılmamışlara girişe izin verilmez.

Roma :


Dinamik matrisleri kullanmak için kullanıcının OOP'yi bilmesi ve işaretçilerle ve hatta MQL uygulamasında bile çalışması gerektiği ortaya çıktı.
Bu tür bilgiye sahip kaç kişi var? Cevabı kendin biliyorsun. Nesne yaklaşımıyla uğraşmak benim için zor olmayacak ama OOP bilmeyenler için
özellikle dinamik matrislerle çalışmak için dili kullanmak için yapay bir eşik oluşturulur.
Bana öyle geliyor ki geliştirici, tam tersine, dilin kullanımını basitleştirmek ve karmaşık hale getirmekle ilgilenmeli.

Belki sizi şaşırtacağım ama günümüzün genç programcıları OOP'yi prosedürel programlamadan daha kolay programlama olarak görüyorlar.

25 yıl öncesini düşünürsünüz. FKÖ'nün modern gençliği zaten anne sütünü içiyor. Trendde olmak istiyorsanız OOP öğrenin, aksi takdirde tek bir şey var - homurdanmak.

 
Nikolai Semko :

Belki sizi şaşırtacağım ama günümüzün genç programcıları OOP'yi prosedürel programlamadan daha kolay programlama olarak görüyorlar.

belki işlevsel ile karşılaştırıldığında?

 
Nikolai Semko :

Belki sizi şaşırtacağım ama günümüzün genç programcıları OOP'yi prosedürel programlamadan daha kolay programlama olarak görüyorlar.

25 yıl öncesini düşünürsünüz. FKÖ'nün modern gençliği zaten anne sütünü içiyor. Trendde olmak istiyorsanız OOP öğrenin, aksi takdirde tek bir şey var - homurdanmak.

Evet, OOP'yi anlıyorum, elbette istediğimiz ölçüde değil.
Bu bir homurdanma değil, yapıcı bir öneridir.
Geliştirici tek bir fonksiyon yazmasın diye iki malloc atayarak kullanıcıları OOP öğrenmeye zorlar.
Bu elbette hala dilin ilerlemesi, gelişmesi ve yaygınlaşmasıdır. OOP'yi nasıl sevdiklerini ve anladıkları burada görülebilir.
Anlıyor musun Nikolai, paketleyicideki her şey yürütme için ekstra kod, açıklamaya gerek yok sanırım.
Modern optimizasyon derleyicilerinden de bahsetmeye gerek yok, hangi talimatların uygulanacağını bilmiyoruz.
Amerikalı programcıların bile OOP kötü olduğu için değil, kodun elde edilmesi daha kolay ve daha hızlı olduğu için prosedürel bir tarzda yazmayı tercih etmesi sizi şaşırtabilir.
Ve projede nesnel görevler yoksa, neden gençler için hala bir şekilde anlamanız gereken sarmalayıcıları kullanıyorsunuz ))
Bu nedenle, gençlerin FKÖ'yü isteyerek özümsediği konusunda size katılmıyorum.

Mql dilinin mantığının üzerine inşa edildiği C dilinde düşünüyorum.
C dili 1972'de doğdu, yani 48 yıl önce ortaya çıktı))
Ama ne derse desin, C en hızlı dillerden biridir. Neden biliyor musun? Çünkü sınıflar şeklinde sarmalayıcıları yoktur.

 
Andrei Trukhanovich :

belki işlevsel ile karşılaştırıldığında?

prosedürel-fonksiyonel :)

 
Petros Shatakhtsyan :

Bence bu değil. Burada özel bir konu var: https://www.mql5.com/ru/forum/40295

Özellikle MQL4 için olduğu için sonuna kadar bakmadım.

Piyasa kapalıysa sunucunun sembol teklifleri göndermemesi gerektiğini düşünüyorum .

Bu, robotumu gerçekten etkilemiyor, çünkü piyasanın "açılmasından" sonra, keneler geldiğinde, trendi, geri dönüşlerini analiz ediyor ve bu biraz zaman alıyor. Bu süre zarfında piyasa açılır.

Ancak bu, şu anda bazı işlemleri manuel olarak yapmak istiyorsak müdahale ediyor. Ve yürütme piyasa ise, talep piyasa açılana kadar askıda kalır ve doğal olarak mevcut fiyattan yürütülür.

Açıkçası, sembolün adını alacak ve doğru/yanlış döndürecek doğrudan bir işlev eksikliği var (piyasa açık/kapalı).

Alım satım ve alım satım seansları vardır. 20 kez çiğnenmiş her şeyi arayın.

 
Andrey Dik :

Lütfen başka bir simge ekleyin, şöyle bir şey:

4. Para

günlük alınan tüm fonların toplamının (piyasa, freelance vb.) görüntüleneceği yerde, bu çok uygun olacaktır, ancak şimdi mevcut bakiyeyi görmek için profile gitmeniz gerekiyor.

Çok fazla ve düzenli olarak geliyorsa, krom için bir eklenti sipariş edebilirsiniz;)

 
Andrey Khatimlianskii :

Alım satım ve alım satım seansları vardır. 20 kez çiğnenmiş her şeyi arayın.

VC++'dan MQL5'e geçmem sadece birkaç günümü aldı. Ve asla, asla bu kadar uzun süre bir şey aramadım.

İşlem sırasında "Piyasa kapalı" mesajı görüntülenirse, bu durumu belirlemek için basit bir yola sahip olmanız ve "kilometre" ve karmaşık kod yazmamanız gerekir.

Ve bana bu tür tavsiyeler verme.