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, и возвращать ноль.
}
bar_quantityがあるかどうか、確認する必要があります。
コードを変更しても、同じ場所で配列が範囲外 になってしまいます。
エラーがない場合、すべてのデータ量が揃っているわけではありません。bars_quantityはあくまでもオーダーであり、何が出るかは別問題です。
エラーがない場合、すべてのデータ量が揃っているわけではありません。bars_quantityはあくまでもオーダーであり、何が出るかは別問題です。
皆さん、ごきげんよう。
MQL4には、配列の各値を初期化し、繰り返しごとにPrint()関数で配列の各要素の 値を表示する簡単なコードがあります。このループの最後には、Print() がログに 30回 出力します。
QUESTION .
上記のコードでMQL4の どの言語構成または関数が Print() されるかというと、配列のすべての要素が同じ行に満たされた状態で、サイクルの 終わりに 1回だけ print() されます。つまり、次のような形式に なります。
Print("---LoY[0]--", 1.6104,"---LoY[1]--".1.6106,"---LoY[2]--", 1.6108,"---LoY[3]--", 1.6110,"---LoY[4]--", 1.6112,......・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 1."---LoY[30]--", 1.6164);
言葉で説明するだけでなく、そのようなコードの例を書いていただけるとありがたいです。
ご協力ありがとうございました。
皆さん、ごきげんよう。
MQL4には、配列の各値を初期化し、繰り返しごとにPrint()関数で配列の各要素の 値を表示する簡単なコードがあります。このループの最後には、Print() がログに 30回 出力します。
QUESTION .
上記のコードでMQL4の どの言語構成または関数が Print() されるかというと、配列のすべての要素が同じ行に満たされた状態で、サイクルの 終わりに 1回だけ print() されます。つまり、次のような形式に なります。
Print("---LoY[0]--", 1.6104,"---LoY[1]--".1.6106,"---LoY[2]--", 1.6108,"---LoY[3]--", 1.6110,"---LoY[4]--", 1.6112,......・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 1."---LoY[30]--", 1.6164);
言葉で説明するだけでなく、そのようなコードの例を書いていただけるとありがたいです。
ご協力ありがとうございました。
何秒先?))))
ご協力ありがとうございました
よろしくお願いします。