Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Коды будут добавлены:
Коды будут добавлены:
Спасибо, тогда не хватает функции проверки хендла на валидность.
Мы же принимаем от CL функций лишь значение указателя, а не сам указатель, поэтому при хранении указателя в разных местах будет возникать ситуация попытки удалить невалидный процесс (будь то контекст, буффер, программу или ядро).
требуется функция:
И ещё нужно программно получать размер памяти девайса, а то ведь у видях памяти поменьше чем оперативы у проца, а все одновременно существующие контексты пользуют одну память.
Хорошо бы штатными средствами mql получать температуру карты (да и CPU тоже), чтоб нагрузку дозировать.
// А то я тут не на шутку разошёлся.. :)
Получение свойств OpenCL объектов будет в ближайшее время.
Проверку хендлов тоже организуем.
1. Нет в OpenCL функционала получить температуру и загрузку GPU.
2. Получение свойств OpenCL объектов будет в ближайшее время.
3. Проверку хендлов тоже организуем.
1. Я знаю. Это не надо через OpenCL, это надо через систему. Идея всего лишь в том, чтоб функционал был нативным (без вызовов DLL из mql5-программ).
Вот есть прекрасные функции:
TerminalInfoInteger
Возвращает значение целого типа соответствующего свойства окружения mql5-программы
TerminalInfoString
Возвращает значение типа string соответствующего свойства окружения mql5-программы
MQL5InfoInteger
Возвращает значение целого типа соответствующего свойства запущенной mql5-программы
MQL5InfoString
Возвращает значение типа string соответствующего свойства запущенной mql5-программы
Замечательно и логично было бы к ним добавить:
SystemInfoInteger и, соответственно
SystemInfoString
с возможностью получения необходимой информации о системном окружении: кол-во ядер, имя и разрядность операционки, количество памяти (всего), количество доступной (свободной) памяти (ОЗУ и дисковой) и т.д. и т.п.
Всё-таки терминал не в пустом бесконечном пространстве вечности работает. А то как-то уж совсем по песочному получается.
2, 3. Ура.
4. Обязательно сделайте уже нормальное обращение к буферам (cl_Read/WriteBuffer) с указанием обоих стартовых смещений (и смещение mql-массива и смещение в cl-буфере). Иначе приходится дважды копировать почти все массивы. Оно нам надо? Мы ж на OpenCL пишем не для того чтоб терять время на переписывание из пустого в порожнее. Так не честно. :)
...
4. Обязательно сделайте уже нормальное обращение к буферам (cl_Read/WriteBuffer) с указанием обоих стартовых смещений (и смещение mql-массива и смещение в cl-буфере). Иначе приходится дважды копировать почти все массивы. Оно нам надо? Мы ж на OpenCL пишем не для того чтоб терять время на переписывание из пустого в порожнее. Так не честно. :)
Уточни что ты имеешь в виду.
Для чего это нужно, я пока не столкнулся с ситуациями которые ты описуешь.
Уточни что ты имеешь в виду.
Для чего это нужно, я пока не столкнулся с ситуациями которые ты описуешь.
Не вопрос. Вот недавний пример. Построение семейства Ema
Ничего экзотического не требуется. Просто хочу, чтоб как здесь было:
int ArrayCopy(
void dst_array[], // куда копируем
void src_array[], // откуда копируем
int dst_start=0, // с какого индекса пишем в приемник
int src_start=0, // с какого индекса копируем из источника
int cnt=WHOLE_ARRAY // сколько элементов
);
Не вопрос. Вот недавний пример. Построение семейства Ema
Ничего экзотического не требуется. Просто хочу, чтоб как здесь было:
int ArrayCopy(
void dst_array[], // куда копируем
void src_array[], // откуда копируем
int dst_start=0, // с какого индекса пишем в приемник
int src_start=0, // с какого индекса копируем из источника
int cnt=WHOLE_ARRAY // сколько элементов
);
Ага, я кажется понял, тебя не устраивает усложнение алгоритмов и перерасход памяти от применения
и ты хочешь иметь возможность смещения ещё на этапе копирования.
ЗЫ Чтоб не нужно было копировать 100000 элементов а потом делать 998000 смещение. Но вариант со смещением что есть сейчас нужно оставить тк он позволяет не копировать много раз одни и те же данные, а брать их для новой задачи из уже готового CL буффера с новым смещением.
ЗЫ а ещё хорошо бы иметь возможность дописывать переразбивая размер либо писать поверх часть данных в CL буффер, тогда вновь поступившие данные от тика можно добавить не купирую все данные. В реалтайме это врядли пригодится, а вот в тестере волне.