Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
по работе с массивами. Я их поставил в другую тему, но там
они висят без ответа.
Как MT4 работает с массивами ?
Насколько я понимаю при переходе на следующий бар в начало массива
добавляется новый элемент, а все бывшие сдвигаются на единицу вперед.
Это происходит со всеми объявленными массивами или только с
какими-то конкретными ?
Такой сдвиг - очень удобный инструмент. Могу ли я такой сдвиг делать
в моем вспомогательном массиве не при переходе на новый бар, а по
другому событию. Например по приходу новой котировки ?
Можно ли ограничить длину массива так, чтобы при таком сдвиге самый
старый элемент терялся и число элементов в массиве не менялось ?
Вообще-то я обращал Ваше внимание на порядок "следования" параметров в ArraySort. А что касается умолчальных значений, то как раз в ArraySort они нужны, т.к. работа с массивом в подавляющем большинстве случаев происходит со всем массивом данных.
добавляется новый элемент, а все бывшие сдвигаются на единицу вперед.
Никаких сдвигов - данные добавляются в конец. Двигать массивы ради вставки в начало - чистое сумашествие.
Вообще-то я обращал Ваше внимание на порядок "следования" параметров в ArraySort. А что касается умолчальных значений, то как раз в ArraySort они нужны, т.к. работа с массивом в подавляющем большинстве случаев происходит со всем массивом данных.
Мы уже видели неправильное использование этой функции. Если люди делают такие ошибки, то надо сделать так, чтобы таких ошибок вообще небыло. То есть - убрать умолчания чтобы компилятор требовал явного указания параметров.
В пятницу сбросил каталог MT на флэшку, перетащил домой. в понедельник, вторник потрудился. Во вторник вечером опять все сбросил на флэшку. Сегодня с флэшки скинул все в каталог MT. Запустил прогу, подключился к счету. посмотрел, что с открытыми ордерами, перешел на историю, глядь а ее нет. Сказал показать всю-Нет и не как нет (вчера все было). Думал может это сервер Алпари чего-то не того, подключился к вашему серваку (другой счет), и тут истории нет. ЧТО БЫ ЭТО ЗНАЧИЛО?
добавляется новый элемент, а все бывшие сдвигаются на единицу вперед.
Никаких сдвигов - данные добавляются в конец. Двигать массивы ради вставки в начало - чистое сумашествие.
Renat,
Ну значит нумерация элементов в массиве с конца в начало. Так ?
Ведь текущий, то есть последний бар на графике идет с номером 0.
И во всех массивах типа Close[] или в массивах индикаторов
нулевой элемент соответствует последнему бару.
ВСЕ ПОНЯЛ. Дата на компе перескачила на 2004 год
Спасибо, посмотрел. Но понял не все.
В примерах разных индикаторов, приложенных к MT4, часто используются
массивы. Причем, длина у таких массивов не объявлена и периодически происходит добавление нового элемента и переиндексация, так, что этот
новый элемент всегда идет под номером 0.
1. Есть единственное событие при котором это происходит - переход на новый бар. Так ?
2. С какими массивами это происходит, а с какими нет ? Ведь не может быть, чтобы это происходило со всеми массивами.
Извините за такое количество вопросов. Если бы MQL4 и работа системы были
описаны по-человечески, а не так скупо, то их бы было поменьше.
Как то ругались тут, что в циклах счетчик объявляется неявно.
То есть, строки int i; не требовалось. Renat тогда сказал, что пусть это будет "фича" mql-4. Потом пришли к выводу, что нужно от нее избавиться. Видимо избавились.
Теперь другая штука:
Тут три цикла, и на каждый цикл новый счетчик. Сами счетчики i,k,l в явном виде не объявляются, компилятор это проглатывает норамльно. Но почему же три разных счетчика, когда можно было бы обойтись одним - спросите вы? А вы попробуйте сами.... :)