long currChart=ChartFirst();
int i=0;
while(currChart>=0)
{
Print(i,ChartSymbol(currChart)," ID =",currChart);
currChart=ChartNext(currChart); // на основании предыдущего получим новый график
i++;// не забудем увеличить счетчик
}
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, и возвращать ноль.
}
仔细阅读文档和示例代码。你的循环没有正确组织起来。
不要告诉我for和while循环的工作方式是一样的。这不是问题,问题是突出的线条。谢谢,我已经读过了(这是我的起点)。
在我的代码中一切正常,只是在MT4中出现了一个小问题,图表是8,但看到的却是7(
不太可能。有多少次我责备平台,结果总是自己错了。
你为什么不试试这个?
你为什么不试试这个?
同样的事情。
为什么印刷会有所不同?不同的代码?
有多少个图表是开放的,哪些图表?符号,周期。
展开的/未折叠的?谢谢,这是我读到的(这是我开始的地方)。
在我的代码中一切正常,只是在MT4中出现了一个小问题,图表是8,但看到的却是7(
非常糟糕的阅读。可能就像学校里的强迫阅读。我读过它,但没有任何东西印在我的脑子里。
这里 有一个例子。那里的目的是不同的,但仍然是公开图表的列举不因列举的目的而改变。
或者这里的代码是
为什么印刷会有所不同?不同的代码?
有多少个图表是开放的,哪些图表?符号,周期。
展开的/未折叠的?非常糟糕的阅读。一定是像在学校里被强迫阅读。我的意思是,我读了它,但没有什么东西留在我的脑海里。
这里 有一个例子。那里的目标是不同的,但仍旧是根据这种列举的目的,对开放图表的列举不会改变。
或者这里的代码是
该问题已被删除,通过重启终端,问题得到了解决
帮助我避免这段代码中的数组超出范围
就是这个位置被扔掉了。
CopyBuffer
Возвращаемое значение
复制的数组元素的数量,或者在出错的情况下为-1。
注意事项
当向一个指标请求数据时,如果请求的时间序列尚未建立或需要从服务器下载,该函数将立即返回-1,但加载/建立过程本身将被启动。
当从专家顾问或脚本请求数据时,如果终端在本地没有这些数据,将开始从服务器加载;如果可以从本地历史数据中建立,但它们还没有准备好,将开始建立所需的时间序列。该函数将返回超时后准备好的数据量。
检查你是否有bar_quantity的存在