мы уже обнаружили этот баг. в ближайшем билде будет исправление. а пока используйте передачу массива по ссылке
Да, внутри функции получаем ошибку
2005.02.17 14:46:16 Array EURUSD,H1: index 9 is out of range [0-0]
Еще вот такое странное сообщение при передаче по ссылке
2005.02.17 14:48:45 Array EURUSD,H1: index 10 is out of range [0-10]
ничего странного. нумерация элементов массива идёт с 0. для 10-элементного массива индекс 10 указывает за пределы
Все правильно - нельзя обращаться к элементу 10, если массив всего на 10 элементов. Счет то начинается с нуля, а не с 1. Вот где ошибка for (int x=0;x<=10;x++)
Это так, но в сообщении написано - is out of range [0-10]
а должно быть - is out of range [0-9]
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
int rs(double fdd[]) { string s; for(int z=0;z<=10;z++) { Print(fdd[z]); } return (0); } int start() { double rsa[10]; for (int x=0;x<=10;x++) rsa[x]=x; rs(rsa); return(0); }Код на Си
int rs(double fdd[]) { char s; for(int z=0;z<=10;z++) { s=(char)fdd[z]; } return 0; } int main(int argc, char* argv[]) { double rsa[10]; for (int x=0;x<=10;x++) rsa[x]=x; rs(rsa); return 0; }В MQL4 при передаче в функцию rs() массив rsa - с массивом непонятно что происходит, толи он обнуляется то ли еще чего.. На Си все отлично работает. Как реализовать в MQL передачу массивов в функции, или может я чего не так делаю?