Ошибки, баги, вопросы - страница 2643

[Удален]  
fxsaber:
Чем возможно автоматом собрать все файлы, что использует mq5? Мне нужно перенести исходник советника. Там десятки файлов инклудятся из разных папок.

У себя в линуксе я бы решил это десятком строк шелл скрипта, может и в винде?

 
Vict:

У себя в линуксе я бы решил это десятком строк шелл скрипта, может и в винде?

Я не программист, умею только немного кодировать на MQL под Windows.

 
fxsaber:

Каким боком?

Спасибо, но допиливать пока не готов. Думал, есть готовое решение.

Оно почти готовое. Получаете весь список файлов из зависимостей и архивируете в zip, например, - все средствами MQL.

Если будет свободное время, сделаю.

 
Stanislav Korotky:

Оно почти готовое. Получаете весь список файлов из зависимостей и архивируете в zip, например, - все средствами MQL.

Если будет свободное время, сделаю.

Будет круто! Со свободным временем беда...

Причем нужно учитывать и такие файлы.

// #define MACROS

#ifdef MACROS
  #include <FileName.mqh>
#endif

void OnStart() {}

Когда компилятор их игнорит, но в работе они присутствуют.


ЗЫ А так же файлы, включенные ресурсами. И если есть mq5 включенного ex5, то его сохранять со всеми внутренними связями.

 
fxsaber:

Будет круто! Со свободным временем беда...

Причем нужно учитывать и такие файлы.

Когда компилятор их игнорит, но в работе они присутствуют.

С этим как раз проблем не будет, так как на поддержку (раскрытие и условную обработку) макросов потребовалась бы еще одна статья, и в первом приближении все инклудники подхватываются безусловно.

Проблемы будут скорее всего на стыке макросов и шаблонов (про это есть в статье). Тогда по мере обнаружения таких затыков нужно будет разбираться с конкретными исходниками - и простое решение не гарантируется.

 
Stanislav Korotky:

Проблемы будут скорее всего на стыке макросов и шаблонов (про это есть в статье). Тогда по мере обнаружения таких затыков нужно будет разбираться с конкретными исходниками - и простое решение не гарантируется.

Так если реализовано безусловное подхватывание инклудников, то макросы+шаблоны не создадут проблем с этим, верно?

 
fxsaber:

Конечно, различий не будет для простых структур.

спасибо, время на тесты сэкономили


Хочу прикрутить Redis в качестве универсального обмена всего и между всем, но пока застрял на этапе сериализации, как впрочем еще и не решил нужно ли сериализовать данные для обмена или если объем обмена не значительный то просто строками и гонять все через Redis - вещь, в целом замечательная, но ввиду простоты устройства этой БД, все данные хранятся в виде string. Скорость доступа к этой БД очень большая (in-memory database)


Еще вопрос, не могу даже оценить будет ли хоть какой прирост при обменен данными если сериализовать простую. структуру в массив uchar[] и этот массив в Base64 - string сериализовать... почему то думаю, что эффективнее каждое поле простой структуры преобразовывать в string и через разделитель все сложить в одну строку (принцип как в файле .csv)

 
StructToCharArray
CharArrayToStruct
 

fxsaber:

StructToCharArray

CharArrayToStruct

в MQL4 нет этих функций, в этом то и проблема

 
Igor Makanu:

в MQL4 нет этих функций, в этом то и проблема

Разве нету?