Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А вместо предположений проверить было трудно? Или мама не разрешила?
Результат
Тип datetime как и int занимают 4 байта памяти. Итого 4000000 байт или 4000000/1024=3906,25 килобайт или 3,8 мегабайт.
Это экзамен? Я должен был выложить готовый полный код или просто дать направление мысли?
Если тут всё просто зачем задавать вопросы?
Надо наверно еще зарезервировать большее место под массив в вашем методе, иначе ArrayResize тратит время. Копирование туда сюда со сдвигом ~15 массивов + минимальный расчет занимает 250мкс.
Надо наверно еще зарезервировать большее место под массив в вашем методе, иначе ArrayResize тратит время. Копирование туда сюда со сдвигом ~15 массивов + минимальный расчет занимает 250мкс.
А где в моём коде ArrayResize можете показать???
И внимательно прочтите выделенный вопрос.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Подскажите про массивы
Alexey Viktorov, 2017.12.07 09:25
А вместо предположений проверить было трудно? Или мама не разрешила?
Результат
Тип datetime как и int занимают 4 байта памяти. Итого 4000000 байт или 4000000/1024=3906,25 килобайт или 3,8 мегабайт.
Это экзамен? Я должен был выложить готовый полный код или просто дать направление мысли?
Если тут всё просто зачем задавать вопросы?
А где в моём коде ArrayResize можете показать???
И внимательно прочтите выделенный вопрос.
1) Нет, не интересно.
2) Я просто дал существенное дополнение к направлению мысли.
Прошу прощения, был безмерно туп и не включил еще одно Ваше сообщение в свой ответ. Ваше сообщение:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Подскажите про массивы
Alexey Viktorov, 2017.12.06 08:16
Если массив не многомерный и не статический, вот ещё вариант сдвига.
Таким образом, нулевой индекс массива станет последним, затем убавим размерность, в этот момент последний элемент массива будет удалён, вернём направление индексации в прежнее состояние. Теперь последний элемент массива(который совсем недавно был предпоследним, а до этого первым) станет нулевым.НО!!! Прежде чем говорить о скорости выполнения ArrayCopy надо-бы проверить несколько раз.
Код написан "на коленке" так-что если есть ошибки, не обессудьте... не проверял.
для 10 элементов нужно применять прямой перебор и смещение внутри массива.
что-то типа
А если элементов к примеру 10000 и более, то быстрее будет работать кольцевой буфер.
А вот копировать массивы туда сюда - самый неудачный вариант.для 10 элементов нужно применять прямой перебор и смещение внутри массива.
что-то типа
А если элементов к примеру 10000 и более, то быстрее будет работать кольцевой буфер.
А вот копировать массивы туда сюда - самый неудачный вариант.Кольцевой буфер(в виде освященных статей) - реализуется(дублируется) индексация массива через самый высокий(самый медленный) уровень, который предоставила среда mql своим языком программирования(mql).
Копирование(работа с) массивов средствами mql - задействуется индексация массива внутренними средствами среды mql, которые быстрее ее языка программирования(mql).
Если кто желает более медленной реализацией дублировать существующую более быструю индексацию внутренними средствами среды mql - личный выбор/хочуха.
Ребята, вы какой-то бестолковщиной маетесь. Задача решается для неограниченного количества комбинаций, за линейной время, без перестроения массива и всяких там копирований.
Вдогонку. Поизучал загрузку массивов из файла в индикаторные буферы и в справке, кажется в FileWriteDouble наткнулся на структуру загрузки данных в буфер, цикл жутко долгий, поэкспериментировал, из FileReadArray на тысяче индексов норм, для индикатора потянет, но на миллионе не фонтан. Беда в том, что запись данных через FileWriteArray и FileSeek может быть не по порядку, например, случайно можно записать данные из тестера, а у него rates_total не совпадает с rates_total из терминала. Практическое применение у подобного невелико, может быть для MqlTick, (я экспериментировал с вычислением реального спреда, причем я был немало удивлен разбросом между заявленным и реальным, OnCalculate выдает одну цифру, а индикатор показал совсем иные), но вдруг в будущем пригодится. Идеальным был бы вариант произвести синхронизацию в OnInit, прогнать цикл в нем, но нет способа из OnInit узнать rates_total, пробовал привязку ко времени при записи, пробовал записывать rates_total, как индекс, но они с терминальным различаются, проблема синхронизации является актуальной проблемой
Кривыми руками ничего делать нельзя.
Проверяйте прежде чем такое говорить.
Можете в отладчике посмотреть значения, а можете добавить распечатку или комментарий графика.
идеально подошел для суммирования десятка последних баров, больше и не надо, спс
Ребята помогите и мне пожалуйста, со стаканом не работал ранее, нашел код что бы чисто по эксперементировать
Есть код работы со стаканом
Сама функция
Вот в ней происходит выход за пределы массива и робот слетает
Ругается на строки кода в которой находится переменная NBuysStart
Ребята помогите и мне пожалуйста, со стаканом не работал ранее, нашел код что бы чисто по эксперементировать
Есть код работы со стаканом
Сама функция
Вот в ней происходит выход за пределы массива и робот слетает
Ругается на строки кода в которой находится переменная NBuysStart
размер массивов Offers и Bids укажите