Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
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.
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?
Hadi Allah razı olsun, bu fonksiyonu kendim yazacağım, en azından diziyi parametre olarak alt programa aktarayım.
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)
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.
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());
}
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.
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.
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.
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.
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.