MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 902
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
1. Bir sorum var, bir dizi elemanını bellekten nasıl silebilirim, diziyi matematiksel olarak bir döngü üzerinden kaydırarak bir elemanı sildiğim anda, mql4'te mümkün mü? Mümkünse, lütfen bunun tek boyutlu bir dizide nasıl yapıldığına dair bir örnek verin.
2. Ayrıca, bellekten silerseniz, gereksiz öğeler içeren bir bölümü keserseniz, dizinin küçüleceği ve sayısının değeri kadar azalacağı dikkate alındığında, hangi yöntemin daha yüksek performanslı olacağı sorusudur. silinen öğeler ve dizinin sonraki kullanımında diziyi orijinal durumuna geri yüklemeniz gerekecek; bir döngüden matematiksel bir şekilde silerseniz, döngü, değişkenlere değer atamak için sabit hesaplamaların olduğu işlenir ve bu da programa yük getirir?
1. Bir sorum var, bir dizi elemanını bellekten nasıl silebilirim, diziyi matematiksel olarak bir döngü üzerinden kaydırarak bir elemanı sildiğim anda, mql4'te mümkün mü? Mümkünse, lütfen bunun tek boyutlu bir dizide nasıl yapıldığına dair bir örnek verin.
2. Ayrıca, bellekten silerseniz, gereksiz öğeler içeren bir bölümü keserseniz, dizinin küçüleceği ve sayısının değeri kadar azalacağı dikkate alındığında, hangi yöntemin daha yüksek performanslı olacağı sorusudur. silinen öğeler ve dizinin sonraki kullanımında diziyi orijinal durumuna geri yüklemeniz gerekecek; bir döngüden matematiksel bir şekilde silerseniz, döngü, değişkenlere değer atamak için sabit hesaplamaların olduğu işlenir ve bu da programa yük getirir?
Diziyi "kendisine" kopyalamak ve dizinin boyutunu gereksiz öğelerin sayısı kadar azaltmak yeterlidir.
Bir eleman eklemek için, boyutu büyütmek, tekrar "kendine" kopyalamak ve istenen değeri boş alana yapıştırmak yeterlidir.
Diziyi "kendisine" kopyalamak ve dizinin boyutunu gereksiz öğelerin sayısı kadar azaltmak yeterlidir.
Bir eleman eklemek için, boyutu büyütmek, tekrar "kendine" kopyalamak ve istenen değeri boş alana yapıştırmak yeterlidir.
Kopyalama işlevine 3 boyutlu bir dizi eklemeye çalıştım, hata yok, bu, bu işlevin farklı boyutlardaki dizilerle çalışabileceği veya yalnızca farklı boyutlar için kopyaları olabileceği anlamına geliyor. Bu arada shift fonksiyonu yerine bu fonksiyon kullanılabilir, kendin yazmana gerek yok yazık ki daha önce aklıma gelmemişti, bir diziyi kendi içine kopyalamak ne kadar riskli, yazılmış. sonucun tanımlanamayacağı anlamına gelir.
Kopyalama işlevine 3 boyutlu bir dizi eklemeye çalıştım, hata yok, bu, bu işlevin farklı boyutlardaki dizilerle çalışabileceği veya yalnızca farklı boyutlar için kopyaları olabileceği anlamına geliyor. Bu arada shift fonksiyonu yerine bu fonksiyon kullanılabilir, kendin yazmana gerek yok yazık ki daha önce aklıma gelmemişti, bir diziyi kendi içine kopyalamak ne kadar riskli, yazılmış. sonucun tanımlanamayacağı anlamına gelir.
Çok boyutlu bir diziyi kopyalarken, ikinci ve sonraki boyutların boyutu dikkate alınmalıdır. Kopyalarken ne kadar kaydırmanız gerektiğine bağlıdır. Basitçe söylemek gerekirse, deneyler sırasında anladığım gibi, çok boyutlu bir dizinin tüm değerleri "bir satırda" sıralanır ve sonra tekrar bir "sütun" içinde oluşturulurlar.
Genel olarak, şimdi teoriyi tekrar anlatamam. Bunu kullanmak için bir ihtiyaç olup olmadığını tekrar kontrol etmek gerekli olacaktır.
Çok boyutlu bir diziyi kopyalarken, ikinci ve sonraki boyutların boyutu dikkate alınmalıdır. Kopyalarken ne kadar kaydırmanız gerektiğine bağlıdır. Basitçe söylemek gerekirse, deneyler sırasında anladığım gibi, çok boyutlu bir dizinin tüm değerleri "bir satırda" sıralanır ve sonra tekrar bir "sütun" içinde oluşturulurlar.
Genel olarak, şimdi teoriyi yeniden anlatamam. Bunu kullanmak için bir ihtiyaç olup olmadığını tekrar kontrol etmek gerekli olacaktır.
C++'da bunun arasında bir fark yoktur.
bu durumlardan herhangi birinde bir çıktı olacaktır. Aynı bellek bloğunda yer aldıkları ve C++ onlara doğrudan eriştiği için ve kabuğumuzda belleğe erişim kapalı olduğundan ve farklı boyutlardaki dizileri işleve doğru bir şekilde geçirmenin ve bu şekilde onlara erişmenin bir yolu yoktur, tek uyarı C++'daki çok boyutlu dizilerin dinamik bellekte yer alması, hatta hiç kimsenin konumun elektronik haritasını görmemesine rağmen dağılmış durumda olmasıdır. Yani konsepte göre çok boyutlu dizileri kendi içine kopyalamak çok hassas bir konu mu yoksa düzgün çalışmayabilir mi?
Göstergem MQL5 kodunu yürütmüyor
Sonuç olarak, fiyat == STO_LOWHIGH ise her şey düzgün çalışır ve fiyat == STO_CLOSECLOSE ise işlev yalnızca
vhigh = 0 ; vlow = High[i];
... döngüyü atlayarak
Göstergem MQL5 kodunu yürütmüyor
Sonuç olarak, fiyat == STO_LOWHIGH ise her şey düzgün çalışır ve fiyat == STO_CLOSECLOSE ise işlev yalnızca
... döngüyü atlayarak
Parantezlerde bir sorun var. Benim düşünceme göre, burada onlara hiç ihtiyaç yok. Hepsi gerekli değildir.
Veya en azından soldaki soru işaretinden önce seçilenleri yeniden düzenleyin.
Genel olarak, ?: operatörünün if else ile eşdeğer olduğunu anlamanız yeterlidir.
Bir koşulu iki kez alırsınız. Bu durum yeterli
Ya da almak istediğiniz bir şeyi anlamadım.Parantezlerde bir sorun var. Benim düşünceme göre, burada hiç gerekli değiller. Hepsi gerekli değildir.
Veya en azından soldaki soru işaretinden önce seçilenleri yeniden düzenleyin.
Genel olarak, ?: operatörünün if else ile eşdeğer olduğunu anlamanız yeterlidir.
Bir koşulu iki kez alırsınız. Bu durum yeterli
Ya da almak istediğiniz bir şeyi anlamadım.Düşük/Yüksek ve Kapat/Kapat parametreleriyle K periyodu içinde normal maxHigh ve minLow stokastiklerini almak istiyorum
Başlatma sırasında Düşük/Yüksek iyi çalışıyor, ancak Kapat/Kapat çalışmıyor
Parantezlerde bir sorun var. Benim düşünceme göre, burada hiç gerekli değiller. Hepsi gerekli değildir.
Veya en azından soldaki soru işaretinden önce seçilenleri yeniden düzenleyin.
Genel olarak, ?: operatörünün if else ile eşdeğer olduğunu anlamanız yeterlidir.
Bir koşulu iki kez alırsınız. Bu durum yeterli
ya da almak istediğiniz bir şeyi anlamadım.hemen anlamadım ama öyle demek istediysen
benim sorunumu çözmüyor