Es ist nicht sicher, ob Sie bars_quantity dort haben.
Code geändert, aber immer noch Array außerhalb des Bereichs an der gleichen Stelle
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); //Устанавить флаг, чтобы индексация массива производилась как в таймсериях.if(CopyBuffer(handle,1,0,bars_quantity,price)<=0) return(0); //Скопировать в динамический массив 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, и возвращать ноль.
}
Wenn kein Fehler auftritt, bedeutet das nicht, dass die gesamte Datenmenge vorhanden ist. Die bar_quantity ist nur Ihre Bestellung und was geben wird, ist eine andere Sache.
int elements=CopyBuffer(handle,1,0,bars_quantity,price);
for(count=1; count<elements; count++)
Wenn kein Fehler auftritt, bedeutet das nicht, dass die gesamte Datenmenge vorhanden ist. Die bar_quantity ist nur Ihre Bestellung und was geben wird, ist eine andere Sache.
Es gibt einen einfachen Code in MQL4, der jeden Wert eines Arrays initialisiert und bei jeder Iteration den Wert jedes Elements des Arrays in der Print()-Funktion ausgibt. Am Ende dieser Schleife wird Print() 30 Mal in das Protokoll drucken.
int P1;
double LoY[31];
voidOnTick()
{
if (P1==0)
{
for(int r=0; r<31;r++)
{
LoY[r]=1.6104+(r*2)*0.0001;
Print("-------------------------------------LoY[r]--------------=", LoY[r]);
P1=1;
}
}
}
FRAGE .
Welches Sprachkonstrukt in MQL4 oder welche Funktion in MQL4 im obigen Code Print() wirdnur 1 Mal am Ende der Schleifedrucken(), wobei alle Array-Elemente in einer Zeile gefüllt werden, d.h. es wird die folgende Form haben
Es gibt einen einfachen Code in MQL4, der jeden Wert eines Arrays initialisiert und bei jeder Iteration den Wert jedes Elements des Arrays in der Print()-Funktion ausgibt. Am Ende dieser Schleife wird Print() 30 Mal in das Protokoll drucken.
FRAGE .
Welches Sprachkonstrukt in MQL4 oder welche Funktion in MQL4 im obigen Code Print() wirdnur 1 Mal am Ende der Schleifedrucken(), wobei alle Array-Elemente in einer Zeile gefüllt werden, d.h. es wird die folgende Form haben
Ich wäre Ihnen sehr dankbar, wenn Sie ein Beispiel für einen solchen Code schreiben und ihn nicht nur in Worten erklären könnten. Vielen Dank für Ihre Hilfe.
int P1 = 0; // Несмотря ни на что не забывайте инициализировать переменныеstring stroka = "";double LoY[31];
voidOnTick()
{
if (P1==0)
{
for(int r=0; r<31;r++)
{
LoY[r]=1.6104+r*0.0001;
stroka += "---LoY[r] = "+DoubleToString(LoY[r], 4);//Print("-------------------------------------LoY[r]--------------=", LoY[r]);
P1=1;
}
Print(stroka);
}
}
Es ist nicht sicher, ob Sie bars_quantity dort haben.
Code geändert, aber immer noch Array außerhalb des Bereichs an der gleichen Stelle
Wenn kein Fehler auftritt, bedeutet das nicht, dass die gesamte Datenmenge vorhanden ist. Die bar_quantity ist nur Ihre Bestellung und was geben wird, ist eine andere Sache.
Wenn kein Fehler auftritt, bedeutet das nicht, dass die gesamte Datenmenge vorhanden ist. Die bar_quantity ist nur Ihre Bestellung und was geben wird, ist eine andere Sache.
Einen guten Tag an Sie alle!
Es gibt einen einfachen Code in MQL4, der jeden Wert eines Arrays initialisiert und bei jeder Iteration den Wert jedes Elements des Arrays in der Print()-Funktion ausgibt. Am Ende dieser Schleife wird Print() 30 Mal in das Protokoll drucken.
FRAGE .
Welches Sprachkonstrukt in MQL4 oder welche Funktion in MQL4 im obigen Code Print() wird nur 1 Mal am Ende der Schleife drucken(), wobei alle Array-Elemente in einer Zeile gefüllt werden, d.h. es wird die folgende Form haben
Print("---LoY[0]--", 1.6104, "---LoY[1]--". , 1,6106,"---LoY[2]--", 1,6108,"---LoY[3]--", 1,6110,"---LoY[4]--", 1,6112,................"---LoY[30]--", 1.6164);
Ich wäre sehr dankbar, wenn Sie ein Beispiel für einen solchen Code schreiben und nicht nur in Worten erklären könnten.
Vielen Dank für Ihre Hilfe.
Einen guten Tag an Sie alle!
Es gibt einen einfachen Code in MQL4, der jeden Wert eines Arrays initialisiert und bei jeder Iteration den Wert jedes Elements des Arrays in der Print()-Funktion ausgibt. Am Ende dieser Schleife wird Print() 30 Mal in das Protokoll drucken.
FRAGE .
Welches Sprachkonstrukt in MQL4 oder welche Funktion in MQL4 im obigen Code Print() wird nur 1 Mal am Ende der Schleife drucken(), wobei alle Array-Elemente in einer Zeile gefüllt werden, d.h. es wird die folgende Form haben
Print("---LoY[0]--", 1.6104, "---LoY[1]--". , 1,6106,"---LoY[2]--", 1,6108,"---LoY[3]--", 1,6110,"---LoY[4]--", 1,6112,................"---LoY[30]--", 1.6164);
Ich wäre Ihnen sehr dankbar, wenn Sie ein Beispiel für einen solchen Code schreiben und ihn nicht nur in Worten erklären könnten.
Vielen Dank für Ihre Hilfe.
Wie viele Sekunden vor mir? ))))
Vielen Dank für Ihre Hilfe
Ich danke Ihnen für Ihre Hilfe.