Грабли... точнее не грабли...

 

:)

Столкнулся вот с такой непоняткой...:

Тренировался со скриптами, для чего использовал тестовый черновик.

И на следующем набрёл на грабли которые чуть не снесли мне крышу...

В скрипте напрочь отказался работать цикл...

//+---Скрипт. тест.mq4------------------+
//+------------------------------------------------------------------+
int start()
{
int i, y, svech=25;
int tf[]={1,5,15,30,60,240,1440,10080,43200}
double pp;
string cc;
datetime dt;
//Bars-1 //---
for(i=0; i<svech; i++)
{Alert(i," = data; ",TimeToStr(TimeCurrent()-(i*604800),TIME_DATE|TIME_SECONDS) );}

return(0);
}
//+------------------------------------------------------------------+

Решение нашел, интересно как быстро найдёте его вы... ;)

Только осталось непонятным с чем это связано и как это завязано.

 

int tf[]={1,5,15,30,60,240,1440,10080,43200};

 

Бррраво!!! именно эта строка...

Однако вот едитор не ругнулся даже предупреждением.

А ещё он не ругается например на это: переменная=+1;

бывает, когда ошибаеся при написании декремента...: переменная+=1;

 
kombat >>: А ещё он не ругается например на это: переменная=+1;

А тут и ошибки нету: просто число со знаком, только с положительным.

 

Между прочим, вот это выраженице тоже может восприниматься Метаэдитором весьма коряво:

for(i=0; i<svech; i++)
{Alert(i," = data; ",TimeToStr(TimeCurrent()-(i*604800),TIME_DATE|TIME_SECONDS) );}

В таком виде это будет гораздо более правильно:

string _CountTime;
datetime CountTime;

for(i=0; i<svech; i++)
{
CountTime = TimeCurrent() - (i * 604800);
_CountTime = TimeToStr(CountTime, TIME_DATE|TIME_SECONDS);
Alert(StringConcatenate(i, " = data; ", _CountTime));
}

Как-то собственноручно у меня после таких исправлений индюк начал нормально работать, а до этого тю-тю!