Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
способ -- захачить структуру массива. Т.е. подсунуть указатель таймсерии вместо указателя массива вместе с адекватными параметрами, чтобы структура думала что все ок.
аха, прояснилось!
и потом тягать по функциям не ссылку на массив массив, а структуру...
структура как бы оторвана от массива, но при этом можно получать данные из
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
TheXpert:
Мне нужен нормальный массив без копирования
способ -- захачить структуру массива. Т.е. подсунуть указатель таймсерии вместо указателя массива вместе с адекватными параметрами, чтобы структура думала что все ок.
аха, прояснилось!
и потом тягать по функциям не ссылку на массив массив, а структуру...
структура как бы оторвана от массива, но при этом можно получать данные из
ArrayStore::double x[];теперь осталось со всем этим взлететь :)
Перспективу чуешь? Теоретически то же самое можно творить с чем угодно, в том числе и с объектами.
Перспективу чуять не советую. :))
Посидел немного с твоей задачкой, кое чего прояснилось.
первые два байта - тип массива (int)
вторые два - пока неясно
два третьих - количество байт в элементе данных (int)
// int x[][15]; // == 0x5200 0100 0400 // здесь в каментах - первые три пары байт структуры
// uint x[][15]; // == 0x5300 0100 0400
// short x[][15]; // == 0x5000 0100 0200
// ushort x[][15]; // == 0x4F00 0100 0200
// char x[][15]; // == 0x4D00 0100 0100
// uchar x[][15]; // == 0x4E00 0100 0100
// long x[][15]; // == 0x5500 0100 0800
// ulong x[][15]; // == 0x5600 0100 0800
// double x[][15]; // == 0x5800 0100 0800
// datetime x[][15];// == 0x5400 0100 0800
потом идут подряд четыре размерности [ulong][ulong][ulong][ulong]
потом размер зарезервированного буфера
потом вроде указатель на буфер (пока не проверял)
дальше непонятки, возможно резерв, но не факт
ага. но это если исключить memcpy
перед этим стоит вообще проверить - насколько внутреннее копирование массивов быстрее memcpy
Посидел немного с твоей задачкой, кое чего прояснилось.
ага. но это если исключить memcpy
перед этим стоит вообще проверить - насколько внутреннее копирование массивов быстрее memcpy
MetaDriver:
дальше непонятки, возможно резерв, но не факт