MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 420
![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
Değişkenin türünü döndüren bir işlev var mı?
mesela sen yaz.
int a=10;
sonra şunu yazarsın:
işlev(a);
ve size şunu söylüyor: INT!
:)
string functia(double a) { return "ÇİFT!"; } // ayrıca beklenmeyen
Bir değişkenin türünü döndüren bir işlev var mı?
mesela sen yaz.
int a=10;
sonra şunu yazarsın:
işlev(a);
ve size şunu söylüyor: INT!
:)
Yardımdan:
Her şey çok daha kolay. Bir görüntüleme düğmesi oluşturun (veya mevcut düğmelerden birini kullanın). Ayrıca, tıkladığınızda - tüm gerekli nesneler, tüm TF'ler için görünürlük bayrağını ayarlar. Düğme bırakıldığında, görüntüleme özelliği tüm TF'lerdeki (veya gerekirse gerekli olan) tüm nesneler için ayarlanır. Hiçbir şeyi silmeniz/yeniden oluşturmanız gerekmez. Bu işlemden sonra grafiği yeniden çizmeniz yeterlidir.
OBJPROP_TIMEFRAMES nesne özelliği.
Göstergedeki verileri bir diziye nasıl aktaracağımı söyle? Yani, bir dizi tanımlamanız gerektiği açıktır.
çift sayı_dizi[];
Ve işte tam olarak anlamadığım şey...
num_array[0] = iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,i); // [0] dizinli dizi MA'ya eşittir, ancak dizini [1] olarak değiştirirseniz, num_array[1]'in eşit olduğu ortaya çıkar
göstergeden num_array[0] ile aynı veriler. Ve bu gerekli değil. Dizi sırayla doldurulmalıdır. Ve akla gelen tek şey günü 24'e bölmek
saat, iki boyutlu bir dizi bildirin ve her saat için kendi satırıyla bir dizin atayın, vb. ....
Belki daha kolay bir yol veya daha az hemoroid vardır?
Göstergedeki verileri bir diziye nasıl aktaracağımı söyle? Yani, bir dizi tanımlamanız gerektiği açıktır.
çift sayı_dizi[];
Ve işte tam olarak anlamadığım şey...
num_array[0] = iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,i); // [0] dizinli dizi MA'ya eşittir, ancak dizini [1] olarak değiştirirseniz, num_array[1]'in eşit olduğu ortaya çıkar
göstergeden num_array[0] ile aynı veriler. Ve bu gerekli değil. Dizi sırayla doldurulmalıdır. Ve akla gelen tek şey günü 24'e bölmek
saat, iki boyutlu bir dizi bildirin ve her saat için kendi satırıyla bir dizin atayın, vb. ....
Belki daha kolay bir yolu veya daha az hemoroid vardır?
Ben böyle görüyorum:
Ben böyle görüyorum:
Ve dizideki maksimum dizin sayısını ayarlamak ve bunları döngü boyunca çalıştırmak ArrayResize aracılığıyla ortaya çıkıyor. Çok teşekkürler, ama sonra bir soru var, tüm dizinler türkiye'den gelen verilerle tıkandığında, onları ArrayFree aracılığıyla temizleyin, değil mi? Yoksa kendini yeniden mi yazacak? veya 24x'ten sonra her şey tamamen durur mu? Aptalca sorular için elbette özür dilerim, ama benim için diziler genellikle bilinmeyen işlevlere sahip bir tür karanlık attır.
Ve dizideki maksimum dizin sayısını ayarlamak ve bunları döngü boyunca çalıştırmak ArrayResize aracılığıyla ortaya çıkıyor. Çok teşekkürler, ama sonra bir soru var, tüm dizinler türkiye'den gelen verilerle tıkandığında, onları ArrayFree aracılığıyla temizleyin, değil mi? Yoksa kendini yeniden mi yazacak? veya 24x'ten sonra her şey tamamen durur mu? Aptalca sorular için elbette özür dilerim, ama benim için diziler genellikle bilinmeyen işlevlere sahip bir tür karanlık attır.
Dizi = dizine göre erişim kolaylığı için bir satırda düzenlenmiş bir dizi basit değişken. Dizin - bir döngüyü düzenlemek için dizi öğelerine sayıya göre erişmek için bir tamsayı değişkeni. İndeks = sayı sayacı. ArrayFree = bir dizinin imhası - harap evlerdeki bir buldozer gibi. Gerçek, ArrayResize kullanılarak tekrar geri yüklenebilir. ArrayResize , bir yerleşim bölgesini çevreleyen bir çittir. İşte bizimkiler çitin arkasındaki yabancılar, oraya tırmanmak yasaktır. Her eve birçok kez girebilir ( dizinin bir öğesine yeni bir değer atayabilirsiniz). Bir dizi, birçok amaç için çok basit ve kullanışlıdır. Ve dizilerden kim korkar - bunlar ... Bu yüzden onları mümkün olan en kısa sürede sıralamak daha iyidir.
//+------------------------------------------------------------------+ //| Проверка массива | //+------------------------------------------------------------------+ #property strict int m[10]; int n; void OnStart() { ArrayInitialize(m,7); Вывод(); // Заполнить семерками ArrayResize(m,7); Вывод(); // Удалить 3 последних элемента ArrayResize(m,9); Вывод(); // Увеличить размер m[1]=1; m[7]=1; Вывод(); // Изменить 2 элемента for(n=0; n<9; n++) m[n]=n*n; Вывод(); // Заполнить квадратами номеров ArrayCopy(m,m,0,2,7); Вывод(); // Копирование со сдвигом ArrayResize(m,ArraySize(m)-2); Вывод(); // Удалить 2 последних элемента } void Вывод() { string s=""; for(n=0; n<ArraySize(m); n++) s+=" " + string(m[n]); Alert(ArraySize(m), ":", s); }
Böyle bir komut dosyası çalıştırmayı deneyin - ve pratik yapınYardımdan: