Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Библиотеки

SharedMemory.dll v4.2.7.0. - библиотека для MetaTrader 4

Просмотров:
4851
Рейтинг:
(14)
Опубликован:
2012.11.19 17:05
Обновлен:
2016.11.22 07:33
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Скайп-чат поддержки продукта: skype:?chat&blob=ltRdjnFp09LOGpvbkyqno-pOvnKg-u4uFdin6S_NyAMmswdjwR7chyV729g9
Последние версии библиотек, скриптов и приложений: ftp://zhunko_Guest:abd4vsuc@ftp.zhunko.ru

Данная библиотека является продолжением развития темы файловых отображений для МТ4. Библиотека на пару порядков более совершенна, чем предыдущая моя реализация в FileMappingMT4.dll . Длительное время её не выкладывал. Было жалко. Теперь созрел. Библиотека хорошо отлажена. Пользуюсь ей с начала 2010 года во всех своих программах.

Концепция библиотеки построена на обращении к файловому отображению по его имени или индексу. На каждое файловое отображение создаётся свой экземпляр класса, который работает со своими дескрипторами и адресами. Каждое файловое отображение имеет своё уникальное имя и индекс. В библиотеке применена трёхуровневая синхронизация, что с индивидуальными классами обеспечивающая максимальную производительность работы.

Более подробное описание находится в шапке заголовочного файла библиотеки SharedMemory.mqh. Примеры использования функций библиотеки находятся в тестовом скрипте Check_SharedMemory.dll.mq4.

Библиотека теперь полностью интеллектуальная. Сама знает, что хочет пользователь.
1. Всё, как с обычными переменными. Не надо ничего создавать или выделять, чтобы прочитать или записать. Это вызов всего одной функции.
2. Сама понимает, когда надо проецировать, когда - нет. Пользователю об этом не надо задумываться.
3. Память выделяется автоматически. Пользователю об этом тоже не надо думать.
4. Заложено 3 базовых пространств имён (оконное, терминальное, глобальное).
5. В каждом пространстве имён, т.е. в каждой их плоскости, можно создавать свои подпространства имён.
6. Трёхуровневая синхронизация обеспечивает максимальную скорость обращения.
7. На каждый объект свой класс.
8. Интерфейс библиотеки такой же, как в MQL. Всё похоже. Также почти похоже, как в FileMappingMT4.dll. Только в 2 раза меньше функций из-за интеллекта. См. п.2.
9. Удобная работа со строками. Функции "возвращают" строки, а не заполняют буфера.
10. Библиотека работает с пользовательскими файлами. Т.е. можно отобразить уже существующий файл.
11. Предусмотрена ручная работа без интеллекта для ещё более высокой скорости.
12. Возможно изменение размера выделяемой памяти, как на увеличение (что нормально), так и на уменьшение.

Всего 146 функции разделены на 7 групп:

1. Функции инициализации библиотеки.
2. Общие функции.
3. Общие функции для доступа к отображению представления проецируемого файла в адресном пространстве вызывающего процесса.
4. Функции для записи чисел и строк в область памяти.
5. Функции для чтения чисел и строк из области памяти.
6. Функции для записи массивов в область памяти.
7. Функции для чтения массивов из области памяти.

Комплект:

1. Заголовочный файл библиотеки SharedMemory.mqh.
2. Тестовый скрипт с примерами Check_SharedMemory.dll.mq4.
3. Папка "C++" с файлами SharedMemory.h и SharedMemory.lib для подключения библиотеки к C++ проектам.
4. Всё выше перечисленное разложенное по папкам МТ4 и МТ5 (x32/x64) в архиве SharedMemory.zip.

Советы:

  • Примеры использования функций библиотеки находятся в тестовом скрипте Check_SharedMemory.dll.mq4.
  • Если не понятно, как пользоваться из примеров, задавайте вопросы.
  • Есть предложения по совершенствованию библиотеки - предлагайте.
  • Небольшое видео демонстрации работы библиотеки на примере тестового скрипта.

Обновления:

22.11.2012. Версия 2.11.22.3.
1. По просьбам неанглоязычных иностранцев библиотека скомпилирована, как UNICODE-проект.
2. Исправлен скрипт с примерами. Было много устаревших примеров.

05.12.2012. Версия 2.12.5.1.
1. Исправлена запись строк с нулевой длиной для UNICODE-проекта. Ранее появлялось сообщение об ошибке.

16.07.2013. Версия 3.7.16.1.

1. Изменены имена функций MemoryWriteBoolArray(), MemoryWriteCharArray(), MemoryWriteUnsCharArray(), MemoryWriteShortArray(), MemoryWriteUnsShortArray(), MemoryWriteFloatArray()
соответственно на MemoryWriteIntToBoolArray(), MemoryWriteIntToCharArray(), MemoryWriteIntToUnsCharArray(), MemoryWriteIntToShortArray(), MemoryWriteIntToUnsShortArray(), MemoryWriteDoubleToFloatArray() для MQL4.
2. Изменены имена функций MemoryReadBoolArray(), MemoryReadCharArray(), MemoryReadUnsCharArray(), MemoryReadShortArray(), MemoryReadUnsShortArray(), MemoryReadFloatArray()
соответственно на MemoryReadBoolToIntArray(), MemoryReadCharToIntArray(), MemoryReadUnsCharToIntArray(), MemoryReadShortToIntArray(), MemoryReadUnsShortToIntArray(), MemoryReadFloatToDoubleArray() для MQL4.
3. Билиотека адаптирована для использования в MQL5.
4. Все функции библиотеки реализованы в трёх вариантах: текущей кодировки, ANSI, UNICODE. Для МТ4 доступны только функции с постфиксом "A" (ANSI). Для МТ5 доступны только функции с постфиксом "W" (UNICODE).
5. Для использования в MQL5 добавлены функции для записи массивов MemoryWriteBoolArray(), MemoryWriteCharArray(), MemoryWriteUnsCharArray(), MemoryWriteShortArray(),
MemoryWriteUnsShortArray(), MemoryWriteUnsIntArray(), MemoryWriteLongArray(), MemoryWriteUnsLongArray(), MemoryWriteFloatArray().
6. Для использования в MQL5 добавлены функции для чтения массивов MemoryReadBoolArray(), MemoryReadCharArray(), MemoryReadUnsCharArray(), MemoryReadShortArray(),
MemoryReadUnsShortArray(), MemoryReadUnsIntArray(), MemoryReadLongArray(), MemoryReadUnsLongArray(), MemoryReadFloatArray().
7. Исправлена ошибка выделения памяти при последовательных записи и чтении.

07.02.2014. Версия 4.2.7.0.
1. Удалены разделы с функциями с преобразованием типа. Теперь заголовочный файл единый для MQL4 и MQL5.
2. Изменены имена функций, работающих с безнаковыми типами данных. Префикс типа "Uns" заменён на "U".

PathFunctions.dll v4.2.6.0 PathFunctions.dll v4.2.6.0

Библиотека предназначена для проведения операций с каталогами за пределами "песочницы" МТ4.

TimeFrames.dll v4.2.9.0 TimeFrames.dll v4.2.9.0

Билиотека предназначена для преобразования аттрибутов ТФ.

MACD_chart MACD_chart

MACD на графике цены

Новый Urdala_Tester Новый Urdala_Tester

Советник Urdala_Tester - это универсальный тестер и исполнитель ваших математических стратегий.