Ошибки, баги, вопросы - страница 1871
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
И не должно быть возможно
1. когда планируется ввод union?
2. с вводом union будут введены так же typedef?
3. планируется ли ввод указателей на фундаментальные типы?1. когда планируется ввод union?
2. с вводом union будут введены так же typedef?
3. планируется ли ввод указателей на фундаментальные типы?1. Скоро. В компиляторе уже всё готово, тестируем. После тестов выпустим.
2. Пока неизвестно, когда
3. Не планируется.
Почему-то ф-я CopyTime (или любая подобная) ресайзит приемный массив, даже если размер приемного массива больше, чем нужно скопировать.
Господа, это нормально? Так было всегда? Или баг?
Для примера:
Функция CopyTime изменяет размер массива TimeBuf в 1.
Это неправильно в принципе.
Это было бы нестрашно, если бы не один важный нюанс: данные копируются в начало массива, и как следствие, вся суть оптимизации теряется на корню.
Почему-то ф-я CopyTime (или любая подобная) ресайзит приемный массив, даже если размер приемного массива больше, чем нужно скопировать.
Господа, это нормально? Так было всегда? Или баг?
Для примера:
Функция CopyTime изменяет размер массива TimeBuf в 1.
Это неправильно в принципе.
Это было бы нестрашно, если бы не один важный нюанс: данные копируются в начало массива, и как следствие, вся суть оптимизации теряется на корню.
Ваш массив - динамический! То есть, с изменяемым размером. Так как Вы не указали его размерность в квадратных скобках.
Слово static означает, что объект этого массива конструируется при загрузке эксперта и уничтожается при выгрузке
Ваш массив - динамический! То есть, с изменяемым размером. Так как Вы не указали его размерность в квадратных скобках.
Слово static означает, что объект этого массива конструируется при загрузке эксперта и уничтожается при выгрузке
Простите, но вы не поняли суть.
Пусть массив будет объявлен в глобальной области
Тогда:
1) Первый раз мы скопируем (CopyTime) в массив сколько есть баров.
2) По оптимальному замыслу при появлении нового бара нам нет смысла копировать все бары, верно? Поэтому мы решаем копировать только 2 последних измененных бара.
3) В итоге наш оптимизация не срабатывает, т.к. CopyTime ресайзит массив и ставит размер = RequiredCount, плюс мы теряем резервный размер (CopyTime не в курсе о ней).
Этой ситуации не было бы, если CopyTime копировал сразу с конца массива в место начала:
в место:
это:
Copy-функции всегда изменяли размер динамического массива. В большую или меньшую сторону. Но всегда было чёткое соответствие с количеством записей, отданных в результате запроса.
В Вашем случае первоначальный запрос в массив с динамически изменяемым размеров. Все остальные запросы, которые запрашивают по одному элементу осуществляйте в массив с заранее известным размером (datetime _TimeBuf1[1]), чтобы не было никакого перераспределения. Самостоятельно перекладывайте полученный элемент в большой динамический массив
Значит всегда так было и это нормально. Понял. Благодарю за ответ!
Об расширении я был в курсе, а вот об уменьшении под размер запрашиваемых данных, нет. Теперь буду знать, спасибо!
MT4 билд 1065
Тест на USDJPY TF M15
из журнала результатов:
406 2014.11.28 20:30 sell 18 5.50 118.641 0.000 117.015 0.00
521 2014.12.09 17:15 t/p 18 5.50 118.386 0.000 118.386 -148.95
Каким образом убыток получается?