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.
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?
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.
Corvin85 : 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.
Amacınızın ne olduğuna bağlı olarak. Son 24 bar için diziyi mA verileriyle doldurma kodunu yazdım. Sürekli güncellenecektir.
Corvin85 : 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.
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: