MQL5 için dilekler - sayfa 4

 
drknn :
tamsayı :
içki :
Mütevazı bir teklifim var. Dile, verilen değerin bulunduğu dizi hücresinin numarasını döndürecek (veya başarısızlık durumunda eksi bir döndürecek) bir işlev eklemeyi öneriyorum. Ve sonra her seferinde bir döngü düzenlemeniz gerekiyor. ArrayBsearch () işlevi - uymuyor - yanlış şeyi döndürür.

Bu işlev tarafından döndürülen değer yine de -1 için kontrol edilecektir, böylece aradığınız değere eşitlik için ArrayBsearch tarafından döndürülen dizinle değeri kontrol edebilirsiniz. büyük bir fark değil

referans alıntı yapıyorum.

int ArrayBsearch(...)
Dizinin ilk boyutunda bulunan ilk öğenin dizinini döndürür.
Dizide belirtilen değere sahip bir öğe yoksa, işlev en yakın öğenin dizinini (değere göre) döndürür.

Peki, sadece bir sayı değil, bir sipariş bileti dizisinde bir dizin aradığınızda, bu işlev hiç uymuyor - peki, neden buna ihtiyacım varken en yakın benzer biletin dizinine ihtiyacım var? bir bilet ve orada değilse, o zaman sipariş zaten piyasada olanlar arasında değil - kapalı ve tarihte aranması gerekiyor! Eşzamanlı olarak kaydırılmış dizilerle çalışırken, indeks çok önemli bir şeydir ve ya tam olmalı ya da yok olmalıdır.



Sana yazdıklarımı tekrar oku

"Bu işlev tarafından döndürülen değer yine -1 için kontrol edilecektir, bu nedenle ArrayBsearch tarafından döndürülen dizinle değerin aradığınız değere eşit olup olmadığını kontrol edebilirsiniz. Büyük bir fark değil"

En yakın bileti bulduk, aradığımız biletle karşılaştırdık, eşit değilse dizide yok demektir.

 
Integer :

Sana yazdıklarımı tekrar oku

"Bu işlev tarafından döndürülen değer yine -1 için kontrol edilecektir, bu nedenle ArrayBsearch tarafından döndürülen dizinle değerin aradığınız değere eşit olup olmadığını kontrol edebilirsiniz. Büyük bir fark değil"

En yakın bileti bulduk, aradığımız biletle karşılaştırdık, eşit değilse dizide yok demektir.

Kahretsin, neden sürekli etrafta dolaşıyorsun? İstenen dizi öğesinin dizinini döndüren bir işlevi olmayan çok işlevli bir programlama dili gösterin. Hadi Allah razı olsun, bu fonksiyonu kendim yazacağım, en azından diziyi parametre olarak alt programa aktarayım.

MQL4 dilinde birçok eksiklik var. Bu dilin esnekliği yoktur. İhtiyaçları dinleyelim ve danışmanın program kodunu kaydedelim. ANCAK? Yoksa geliştiriciler kendilerinden başka kimseyi umursamıyor mu?

 
drknn :

Hadi Allah razı olsun, bu fonksiyonu kendim yazacağım, en azından diziyi parametre olarak alt programa aktarayım.

MQL4'te bir dizi alt programlara kolayca geçirilir ve ayrıca kolayca alınır.
MQL4 dilinde birçok eksiklik var. Bu dilin esnekliği yoktur. İhtiyaçları dinleyelim ve danışmanın program kodunu kaydedelim. ANCAK? Yoksa geliştiriciler kendilerinden başka kimseyi umursamıyor mu?
Evet, dezavantajları biliniyor. Görünüşe göre geliştiriciler buna karşı bir kelime söylemedi mi? Uzun süredir MQL5 dili üzerinde çalışıyoruz.
 
drknn , buraya bakın: https://docs.mql4.com/en/basis/variables/formal . Sadece dizilerin transferi hakkında orada.
 
xenon13 :

MQL4'e tüm saygımla - şu ana kadar piyasada MTS'den elde edilenin en iyisi, aşağıdaki şeyler fena halde eksik:

1. API veya DLL'den danışmanın işlevlerini çağırma yeteneği (beyler geliştiriciler - ÇOK GEREKLİ !!!!)

2. Olay işleyicileri - en az bir, sistem (Bir mesaj numarası ile bazılarını geri arayın, örneğin bir mesaj - bu enstrümanda işlem durdurulur)

3. Yapılar, a = b = d = e notasyonundaki atamalar, örtük tip dönüşümler.

Diğerlerinden bu konudaki istek listesine katılmalarını ve devam etmelerini rica ediyorum.

İlk nokta hakkında bir kez daha PS, her şeyi olduğu gibi bırakabilirsiniz - ancak DLL'den bir arama yapabilirsiniz.


C++'a yakın nesne yönelimli bir dil görmek istiyorum

ticarete daha yakınsa

almak istiyorum

1 Özel bir zamanlayıcıda belirtilen işlevi çağırmak (çok iyi bir özellik olurdu)

2 tetikleme KAYBI AL (bunun programlı olarak izlenebileceğini anlamama rağmen - her türlü işleyiciyi kullanırken)

3 Bir tür görsel hata ayıklayıcı elde etmek çok güzel (kontrol baskısı ile uğraşmama rağmen)

 
Mathemat :
drknn , buraya bakın: https://docs.mql4.com/en/basis/variables/formal . Sadece dizilerin transferi hakkında orada.

Teşekkür ederim. Bir bakacağım.
 
Renat :
Evet, dezavantajları biliniyor. Görünüşe göre geliştiriciler buna karşı bir kelime söylemedi mi? MQL5 dili üzerinde uzun süredir çalışıyoruz.

Üzgünüm, aşırı tepki vermiş olmalıyım. Sorun şu ki, dilde normal bir yardım yok. Ve yardımda verilenler her zaman yeterli değildir. Normal bir yardım olsaydı, kullanıcıların çok daha az sorusu olurdu.
 
MQL5 dilinin yeni özelliklerinin MQ listesini yayınlar. Bazı noktaları - dilin yeni özelliklerini - önceden tartışmak mümkün olacaktır. Geliştiriciler planlarında bir şeyi düzeltirdi. Bir şey terk edildi ve birçoklarını ilgilendiren yeni bir şey eklendi. Hatta yeni özellikler veya örneğin kaldırmak isteyenler için bir oylama düzenlemek bile mümkün olabilir.

Bu arada, meta düzenleyicide kodlu yer imlerinin sıralamasını da eklemek güzel olurdu. Genellikle, ihtiyacınız olanı bulmak için sürekli kaydırma yapmamak için bazı modülleri yan yana gruplamak istersiniz.
Başka bir işleve parametre olan bir karakter dizesi değişkenini parametre olarak geçirirken dilde bir sorun oluştu.
Bu işe yaramadı:

func(Sembol());

void func(dize sembolü) {
mql_func(sembol);
}

Ama böyle çalışıyor

geçersiz işlev () {
mql_func(Sembol());
}
 
drknn писал (а):


Kahretsin, neden sürekli etrafta dolaşıyorsun? İstenen dizi öğesinin dizinini döndüren bir işlevi olmayan çok işlevli bir programlama dili gösterin. Hadi Allah razı olsun, bu fonksiyonu kendim yazacağım, en azından diziyi parametre olarak alt programa aktarayım.


Delphi'de böyle bir işlev yoktur. :) Ya da belki ayrı bir modülde bir yer vardır. Eğer varsa, onun hakkında hiçbir şey bilmiyorum çünkü. Kendin yazmak, aramak ya da yazmamaktan daha kolaydır.

Bu arada, algoritmaları kendiniz uygulamak sadece "atlamak" değildir. "Bypass", diğer kişilerin bileşenlerini, prosedürlerini, kitaplıklarını ve hazır kod parçalarını kullandığınız zamandır. İşte baypas. Bilimsel olarak adlandırılan - lamerstvo. :)
Geliştiriciler, dilin lamerler için değil, programcılar için yapıldığını zaten söylediler. :)

Birçok kişinin istediği herhangi bir işlevi yarım saatte kendiniz yapabilirsiniz ve geliştiricilerin sizin için yapması 3 yıl beklemez. Ardından bunları ayrı bir kitaplığa koyun ve her yeni danışmana olağan eklemeyle ekleyin. Bunu anlamak gerçekten bu kadar zor mu? Biraz anaokulu. Dil harika, yaratıcılık için birçok fırsat var. Ancak bir kişinin yaratıcı bir başlangıcı yoksa, o zaman böyle bir dil onun için kontrendikedir. Genel olarak, ticaret de dahil olmak üzere birçok şey onun için kontrendikedir. Daha doğrusu, özellikle ticaret. :) Olası sertlik için özür dilerim, dayanamadım.



Yalnızca bir geçiş operatörü eklemek isterdim. Gerisi bana uyuyor.

Ve bir şey daha: Gerçek ticarette bekleyen bir emrin OrderLots parametresini değiştirme fırsatını gerçekten istiyorum, böylece onu silip yeni bir tane koymak zorunda kalmam, bekleyen emirleri olan tüm durumlara sahibim. Bence uygulanması zor olmamalı. Renat , okuduysanız lütfen cevap verin.
 
Bauleken :
drknn yazdı:


Kahretsin, neden sürekli etrafta dolaşıyorsun? İstenen dizi öğesinin dizinini döndüren bir işlevi olmayan çok işlevli bir programlama dili gösterin. Hadi Allah razı olsun, bu fonksiyonu kendim yazacağım, en azından diziyi parametre olarak alt programa aktarayım.


Delphi'de böyle bir işlev yoktur. :) Ya da belki ayrı bir modülde bir yer vardır. Eğer varsa, onun hakkında hiçbir şey bilmiyorum çünkü. Kendin yazmak, aramak ya da yazmamaktan daha kolaydır.

Bu arada, algoritmaları kendiniz uygulamak sadece "atlamak" değildir. "Bypass", diğer kişilerin bileşenlerini, prosedürlerini, kitaplıklarını ve hazır kod parçalarını kullandığınız zamandır. İşte baypas. Bilimsel olarak adlandırılan - lamerstvo. :)
Geliştiriciler, dilin lamerler için değil, programcılar için yapıldığını zaten söylediler. :)
Daha sonra genellikle makine kodlarında programlanabilir mi? Neden tüm bu üst düzey diller ve hatta aynı montajcı? Makine kodu gibi benzersiz bir şeyle, genellikle ne istersen yapabilirsin :)


Birçok kişinin istediği herhangi bir işlevi yarım saatte kendiniz yapabilirsiniz ve geliştiricilerin sizin için yapması 3 yıl beklemez. Ardından bunları ayrı bir kitaplığa koyun ve her yeni danışmana olağan eklemeyle ekleyin. Bunu anlamak gerçekten bu kadar zor mu? Biraz anaokulu. Dil harika, yaratıcılık için birçok fırsat var. Ancak bir kişinin yaratıcı bir başlangıcı yoksa, o zaman böyle bir dil onun için kontrendikedir. Genel olarak, ticaret de dahil olmak üzere birçok şey onun için kontrendikedir. Daha doğrusu, özellikle ticaret. :) Olası sertlik için özür dilerim, dayanamadım.
:)))))))))))) Beni neşelendirdi - yürekten güldü :)))))))))) teşekkür ederim. Hayır prada :)))))))
Yalnızca bir geçiş operatörü eklemek isterdim. Gerisi bana uyuyor.

Ve bir şey daha: Gerçek ticarette bekleyen bir emrin OrderLots parametresini değiştirme fırsatını gerçekten istiyorum, böylece onu silip yeni bir tane koymak zorunda kalmam, bekleyen emirleri olan tüm durumlara sahibim. Bence uygulanması zor olmamalı. Renat , okuduysanız lütfen cevap verin.
Ve burada bu konuda daha ayrıntılı olarak mümkün mü? Kapak değiştirilebilir. Yoksa bir şey mi anlamadım?