Как в mql работать с массивами? - страница 3

 
Nikolay Ivanov:
попробуйте в double записать ulong число, ну допустим 18446744073709551500. что получится при распечатке ?
Если код знает, что там хранится лонг, он может его правильно прочитать, а затем и распечатать, уже как лонг. Мое замечание относилось к тому, что массив яко-бы "не может содержать данные разных типов". Буквально задекларировать такое конечно не получится, но фактически в double-массиве можно все хранить и указанных ошибок не будет. Ошибка автора темы - в неправильной декларации массива (размерность не та), а не в том, что он сохраняет int в double.
 
Stanislav Korotky:
Если код знает, что там хранится лонг, он может его правильно прочитать, а затем и распечатать, уже как лонг. Мое замечание относилось к тому, что массив яко-бы "не может содержать данные разных типов". Буквально задекларировать такое конечно не получится, но фактически в double-массиве можно все хранить и указанных ошибок не будет. Ошибка автора темы - в неправильной декларации массива (размерность не та), а не в том, что он сохраняет int в double.

Вчера размышлял, что неплохо бы в МКЛ переменную типа var завести.

Скажем, в глобальную переменную кто-нибудь пробовал бросить структуру или массив? 

 
Yuriy Asaulenko:

Вчера размышлял, что неплохо бы в МКЛ переменную типа var завести.

Скажем, в глобальную переменную кто-нибудь пробовал бросить структуру или массив? 

Значение-то у глобальной переменной только одно число, но в имени можно зашифровать много чего - только требуется сериализация/десериализация.

Чтобы хранить разные типы - опишите класс контейнер, скорее всего шаблонный.

 
Stanislav Korotky:

Значение-то у глобальной переменной только одно число, но в имени можно зашифровать много чего - только требуется сериализация/десериализация.

Чтобы хранить разные типы - опишите класс контейнер, скорее всего шаблонный.

Я о другом. Скажем вы хотите из одного советника в другой передать структуру или массив. Вам нужен канал, который позволяет передавать любые данные. Переменная типа var и есть такой канал. Иначе, либо тхт строка, либо файл.
 
Yuriy Asaulenko:
Я о другом. Скажем вы хотите из одного советника в другой передать структуру или массив. Вам нужен канал, который позволяет передавать любые данные. Переменная типа var и есть такой канал. Иначе, либо тхт строка, либо файл.
Ну про обмен данными тут уж много раз обсуждали (хоть это и не по теме топика получается), есть куча способов - события, файлы, память dll...
 
Stanislav Korotky:
Ну про обмен данными тут уж много раз обсуждали (хоть это и не по теме топика получается), есть куча способов - события, файлы, память dll...
Про события и память расскажите. Можно в двух-трех словах.
 

Обмениваться большими массивами данных между программами можно через графические ресурсы - они разделяемы между всеми программами и дают автоматически синхронизируемый доступ. По сути как shared memory.

Или через глобальные переменные терминала. 

 
Renat Fatkhullin:

Обмениваться большими массивами данных между программами можно через графические ресурсы - они разделяемы между всеми программами и дают автоматически синхронизируемый доступ. По сути как shared memory.

Или через глобальные переменные терминала. 

Спасибо. Глобальные, наверное не оч интересны, т.к. в них не запихнешь массивы и структуры, а вот графические - это как? Ссылку, если можно.
 

Через битмап, который может быть большим.

Вместо картинки в массив битмапа кладите данные, а другая программа по имени ресурса вычитает данные. Поищите статью про битмапы и графические ресурсы, пожалуйста.

 
Renat Fatkhullin:

Через битмап, который может быть большим.

Вместо картинки в массив битмапа кладите данные, а другая программа по имени ресурса вычитает данные. Поищите статью про битмапы и графические ресурсы, пожалуйста.

Спасибо.
Причина обращения: