long currChart= ChartFirst ();
int i= 0 ;
while (currChart>= 0 )
{
Print (i, ChartSymbol (currChart), " ID =" ,currChart);
currChart= ChartNext (currChart); // на основании предыдущего получим новый график
i++; // не забудем увеличить счетчик
}
Kodumda her şey çalışıyor, sadece MT4, 8 çizelgelerinde bir aksaklık, ancak 7'yi görüyor(
çok kötü okudum Muhtemelen okulda bir zorlama gibi. Okumuş gibiyim ama kafama bir şey takılmadı.
Burada bir örnek alın. Doğru, orada amaç farklıdır, ancak yine de açık çizelgelerin numaralandırılması bu numaralandırmanın amacına bağlı olarak değişmez.
Veya işte kod
/********************Script program start function*******************/voidOnStart ()
{
long prevChart = 0 ;
int i = 0 ;
do
{
prevChart = ChartNext (prevChart);
ChartSetInteger (prevChart, CHART_BRING_TO_TOP , 0 , true );
Sleep ( 200 );
i++;
}
while (prevChart >= 0 );
} /*******************************************************************/
çok kötü okudum Muhtemelen okulda bir zorlama gibi. Okumuş gibiyim ama kafama bir şey takılmadı.
Burada bir örnek alın. Doğru, orada amaç farklıdır, ancak yine de açık çizelgelerin numaralandırılması bu numaralandırmanın amacına bağlı olarak değişmez.
Veya işte kod
Soru çözüldü, terminali yeniden başlatmak sorunu çözdü
Lütfen bana bu kodda dizi dışında diziyi nasıl önleyeceğimi söyle
double GetExtremumZigZagPriceHigh( string symbol= "" , ENUM_TIMEFRAMES timeframe= 0 , int extremum_number= 0 ) //,int depth=12,int deviation=5,int backstep=3)
{
if (symbol== "" ) //Если symbol = "" , то..
symbol= Symbol (); //Присвоить переменной symbol значение текущего символа на графике.//Объявить необходимые переменные:double price[]; //Цена экстремума выбранная из массива таймсерии.//datetime time[];int count; //Счетчик цикла.int bars_quantity= 1000 ; //Количество баров на графике.int extremum_count= 0 ; //Счетчик экстремумов.ArraySetAsSeries (price, true ); //Устанавить флаг, чтобы индексация массива производилась как в таймсериях.CopyBuffer (handle, 1 , 0 ,bars_quantity,price); //Скопировать в динамический массив price[] цены указанного количества баров.for (count= 1 ; count<bars_quantity; count++) //Запустить цикл, который будет бежать по каждому бару.
{
if (price[count]!= 0 ) //Если Цена Зигзага есть, то есть не равна нулю, то..
{
extremum_count++; //Увеличить счетчик экстремумов на одну единицу.if (extremum_count>extremum_number) //Если счетчик экстремумов превысил значение указанного номера экстремума, то..return (price[count]); //Вернуть эту цену.
}
}
//Print("GetExtremumZigZagPrice(): Экстремум ЗигЗага ",extremum_number," не найден"); //А до тех пор, пока ЗигЗаг не показывает цену,return ( 0 ); //Печатать Print, и возвращать ноль.
}
Kopyalanan dizi öğelerinin sayısı veya hata durumunda -1.
Not
İndikatörden veri istenirken, istenen zaman serileri henüz oluşturulmamışsa veya sunucudan indirilmesi gerekiyorsa, fonksiyon hemen -1 döndürür, ancak yükleme/inşa sürecinin kendisi başlatılır.
Bir Uzman Danışmandan veya bir komut dosyasından veri istenirken, terminal bu verilere yerel olarak sahip değilse sunucudan indirme başlatılacak veya veriler yerel geçmişten oluşturulabiliyorsa gerekli zaman serilerinin yapımı başlayacak, ancak henüz hazır değil. İşlev, zaman aşımı süresi sona erdiğinde hazır olacak veri miktarını döndürür.
Kontrol etmeniz gerekiyor, orada bar_quantity'nizin olduğu bir gerçek değil.
Belgeleri ve örnek kodu dikkatlice okuyun. Döngünüz yanlış.
Sadece bunu söyleme, for ve while döngüleri aynı şekilde çalışır. Sorun burada değil, vurgulanan satırlarda.Teşekkür ederim, bunu okudum
Kodumda her şey çalışıyor, sadece MT4, 8 çizelgelerinde bir aksaklık, ancak 7'yi görüyor(
Olası olmayan. Platformda kaç kez günah işledim, hep kendimde yanıldım.
belki bunu dene
belki bunu dene
Aynısı
Baskı neden farklı? Başka bir kod mu?
Kaç grafik açık, hangileri? Sembol, nokta.
Genişletilmiş/daraltılmış mı?Teşekkür ederim, bunu okudum
Kodumda her şey çalışıyor, sadece MT4, 8 çizelgelerinde bir aksaklık, ancak 7'yi görüyor(
çok kötü okudum Muhtemelen okulda bir zorlama gibi. Okumuş gibiyim ama kafama bir şey takılmadı.
Burada bir örnek alın. Doğru, orada amaç farklıdır, ancak yine de açık çizelgelerin numaralandırılması bu numaralandırmanın amacına bağlı olarak değişmez.
Veya işte kod
Baskı neden farklı? Başka bir kod mu?
Kaç grafik açık, hangileri? Sembol, nokta.
Genişletilmiş/daraltılmış mı?çok kötü okudum Muhtemelen okulda bir zorlama gibi. Okumuş gibiyim ama kafama bir şey takılmadı.
Burada bir örnek alın. Doğru, orada amaç farklıdır, ancak yine de açık çizelgelerin numaralandırılması bu numaralandırmanın amacına bağlı olarak değişmez.
Veya işte kod
Soru çözüldü, terminali yeniden başlatmak sorunu çözdü
Lütfen bana bu kodda dizi dışında diziyi nasıl önleyeceğimi söyle
Bu yerde küfür
CopyBufferВозвращаемое значение
Kopyalanan dizi öğelerinin sayısı veya hata durumunda -1.
Not
İndikatörden veri istenirken, istenen zaman serileri henüz oluşturulmamışsa veya sunucudan indirilmesi gerekiyorsa, fonksiyon hemen -1 döndürür, ancak yükleme/inşa sürecinin kendisi başlatılır.
Bir Uzman Danışmandan veya bir komut dosyasından veri istenirken, terminal bu verilere yerel olarak sahip değilse sunucudan indirme başlatılacak veya veriler yerel geçmişten oluşturulabiliyorsa gerekli zaman serilerinin yapımı başlayacak, ancak henüz hazır değil. İşlev, zaman aşımı süresi sona erdiğinde hazır olacak veri miktarını döndürür.
Kontrol etmeniz gerekiyor, orada bar_quantity'nizin olduğu bir gerçek değil.