[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 131
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Продолжение темы
Предыдущая здесь https://www.mql5.com/ru/forum/111497
Пытаюсь заполнить одномерный массив ValueArr[].
Не уверен в правильности.
На каждом тике функция GetValue() выдает значение int. Как заполнить ValueArr[] ?
Правильна ли моя попытка?
У вас размер массива должен увеличиваться на один на каждом тике? Тогда его размеры будут ограничены доступной памятью компьютера.
На каждом тике увеличивайте размер массива ValueArr[] ф-цией ArrayResize() и дописывайте новые данные в массив. Опять-таки - куда их дописывать? В начало или в конец???
Если в начало, то необходимо смещать ранее записанные уже данные, иначе они будут удалены вновь записываемыми.
Если в конец, то:
В ините задайте размер массива = нулю, а в старте увеличивайте его на 1 (size++), после чего изменяйте размер массива ( ArrayResize(ValueArr, size);) и вписывайте в ячейку массива ValueArr[], индексируемую size-1 (ValueArr[size-1]) данные, полученные ф-цией GetValue(); (ValueArr[size-1]=GetValue();)
У вас размер массива должен увеличиваться на один на каждом тике? Тогда его размеры будут ограничены доступной памятью компьютера.
На каждом тике увеличивайте размер массива ValueArr[] ф-цией ArrayResize() и дописывайте новые данные в массив. Опять-таки - куда их дописывать? В начало или в конец???
Если в начало, то необходимо смещать ранее записанные уже данные, иначе они будут удалены вновь записываемыми.
В ините задайте размер массива = нулю, а в старте увеличивайте его на 1 (size++), после чего изменяйте размер массива ArrayResize(ValueArr, size); и вписывайте в ячейку массива ValueArr[], индексируемую size-1 (ValueArr[size-1]) данные, полученные ф-цией GetValue();
Да, записываться данные от GetValue() будут на каждом тике в массив ValueArr[].
Hазмер массива увеличивается на каждом тике,хотя может быть и сразу определен, скажем, [10000].
Элементы массива располагаются в порядке поступления, т.е. первый записанный - первый в "общей очереди",
второй элемент - второй в очереди.
Если я правильно понял, то выглядит это так:
Надеюсь, я правильно Вас понял.
Элементы массива располагаются в порядке поступления, т.е. первый записанный - первый в "общей очереди",
почему б не испльзовать массив-таймсерию
Пытаюсь заполнить одномерный массив ValueArr[].
Не уверен в правильности.
На каждом тике функция GetValue() выдает значение int. Как заполнить ValueArr[] ?
Правильна ли моя попытка?
int ValueArr[size];
нельзя. При объявлении массива либо указывается константа в качестве размера, либо ничего, и массив тогда считается динамическим.
Правильно будет так
int ValueArr[]; int init() { ArrayResize(ValueArr,size); }
Подскажите пожалуйста! Есть ли в MT4 функция которая бы для открытия новой сделки учитывала результат предыдущей? Если да то как правильно её прописать?
Подскажите пожалуйста! Есть ли в MT4 функция которая бы для открытия новой сделки учитывала результат предыдущей? Если да то как правильно её прописать?
такой встроенной ф-ции нет, нужно писать самостоятельно, пример я показывал здесь:https://www.mql5.com/ru/forum/131277/page113
Так
нельзя. При объявлении массива либо указывается константа в качестве размера, либо ничего, и массив тогда считается динамическим.
Правильно будет так
Тогда, наверное, так:
Это правильно?