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的存在。
修改了代码,仍然是在同一个地方的数组超出了范围
如果没有错误,这并不意味着所有的数据量都存在。bar_quantity只是你的命令,会给什么是另一回事。
如果没有错误,这并不意味着所有的数据量都存在。bar_quantity只是你的命令,会给什么是另一回事。
祝大家今天愉快
在MQL4中有一段简单的代码,它初始化了一个数组的每个值,并在每次迭代时在Print()函数中打印出数组中 每个元素 的值。在这个循环的最后,Print() 将在日志中打印 30次。
问题.
在上述代码中,MQL4中 的哪种语言结构或MQL4中的 函数Print()将在循环 结束后只 打印() 1次 ,并将数组中的所有元素填充到同一行,即它将采取以下形式
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)。
如果你能写一个这样的代码的例子,而不只是用文字解释,我将非常感激。
谢谢你的帮助。
祝大家今天愉快
在MQL4中有一段简单的代码,它初始化了一个数组的每个值,并在每次迭代时在Print()函数中打印出数组中 每个元素 的值。在这个循环的最后,Print() 将在日志中打印 30次。
问题.
在上述代码中,MQL4中 的哪种语言结构或MQL4中的 函数Print()将 在循环结束 时 只 打印() 1次 ,所有数组元素都填在一行中,即它将采取以下形式
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)。
如果你能写一个这样的代码的例子,而不仅仅是用文字解释,我将非常感激。
谢谢你的帮助。
领先我多少秒?))))
谢谢您的帮助
谢谢你的帮助。