Ошибка в компиляторе?

 
Тема такая:

Инициализирую массив в MQL4 по привычке, например:

double Cs[11,5];

компилирую, всё нормально, ошибок не выдаёт.
Но, ессесно, ни шиша не работает. :)

Комментарии?
 
что такое "не работает"? приведите фрагмент неработающего кода
 
по привычке,

Вы неправильно оформили размерность массива. Все должно быть как в языке С.
 
"Уж сколько раз твердили миру..." (Крылов кажись), ребята будьте внимательнее, хватит голословных обвинений в ошибках, конкретизируйте проблему, "и будет всем счастье" (тоже не мое)
 
Приступаем к конкретике...
Вопрос: Что я делаю "не так"?
Код (без самого начала, только с представленными переменными):

extern int AllCs = 3;
double Cs[11][5];

int start()
{

int CsShift=1;

for (CsShift=1;CsShift<=AllCs;CsShift++)
{
Cs[CsShift][1]=MathAbs(Open[CsShift]-Close[CsShift]);
Cs[CsShift][5]=MathAbs(High[CsShift]-Low[CsShift]);
}

CsShift=1;
Print("Посчитали, тело= ", Cs[CsShift][1], " а высота = ", Cs[CsShift][5]);

return(0);
}

Запускаю...
Тело печатает как надо (1 в массиве), а высоту - НОЛЬ! (5 в массиве).
Кто скажет, чего не так пишу???
 
И в догонку - ежели я неправильно оформил размерность массива, то почему компилятор не "выругался"? Типа всё Ок... Пиши дальше, аффтор... :)
 
Посмотрите в логе эксперта, там будет сообщение об ошибке при работе.

Массивы имеют размерность от нуля,
т.е. double A[3] - это 3 элемента A[0],A[1],A[2]

Cs[CsShift][5] - выходит за границы массива.
 
И в догонку - ежели я неправильно оформил размерность массива, то почему компилятор не "выругался"? Типа всё Ок... Пиши дальше, аффтор... :)

Сначала Вы сделали ошибку в именовании массива, потом ошибку с неверным доступом по индексу.
Вот так и появляются провокационные темы...
 
Если честно - в логах ничего не нашел. Может не там смотрел?
А компилятор то не выругался. Ай ай ай...
Спасибо, что указали на ошибку, глаз замылилися - не заметил нарушения размерности!
А тема вовсе не провокационная. :( Ведь компилятор то был типа не прав... Носом не ткнул... :)
 
Renat,
проверте пожалуйста работу
передачи параметров в функцию по ссылке , переменная в функцию передается, но похоже в вызывающей функции не меняется( при изменении в вызываемой функции)

(передается не массив, вызываемая функция находиться в другом модуле, подключена через #include)
 
Сразу возникает ещё вопрос (поскольку нигде не могу толкового описания найти). К стати, буду благодарен, если кто укажет ресурс с более подробным описанием MQL4. Всего то навсего хочу поставить стрелочки, когд анужная свечка идентифицируется на прогоне теста. Так не ставится... Код такой пишу (выудил, заметьте, из И-нета, в описании замучаешься искать чего...):

ObjectCreate("SvechaUp", OBJ_ARROW, 0, Time[CsShift], High[CsShift]+(5*Point));
ObjectSet("SvechaUp", OBJPROP_ARROWCODE, SYMBOL_ARROWDOWN);
ObjectSet("SvechaUp", OBJPROP_COLOR, Red);

Не создает... :(
Иде на этот раз ошибся?
Ежели напрягаю с глупыми вопросами - дайте ресурс, где есть подробное описание. :)
Заранее спасибо. :)