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

CDictionary - библиотека для MetaTrader 5

Просмотров:
1700
Рейтинг:
(27)
Опубликован:
2017.11.28 08:49
Обновлен:
2017.12.01 11:38
\MQL5\Scripts\ \MQL5\Include\
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Реализация такой структуры данных, как словарь (ассоциативный массив) на MQL5 на основе CArrayObj и CList.

Функция хэширования

FNV-1a

Использование

Примитивы:

CDictionary *dict=new CDictionary();
//установка
dict.Set<string>("costarring","liquid");
dict.Set<double>("liquid",0.1);

//получение - вариант 1
string variant1 = dict.Get<string>("costarring");
Print(variant1);

//получение - вариант 2
double variant2 = 0;
dict.Get<double>("liquid",variant2);
Print(variant2);

Также в нем могут содержаться указатели на объекты (но не сами объекты или структуры):

dict.Set<CObject*>("object",new CObject());

Устранение противоречий

  1. Каждая запись имеет свой собственный хэш.
  2. Если две или более записи имеют один и тот же хэш, они сравниваются по ключу и имени типа. Это дает возможность сохранять несколько записей с одинаковым ключом (но различными типами).
  3. При использовании Set<T>, если уже есть запись с таким же ключом и именем, то переданное значение будет рассматриваться как замена существующей записи, а не как новая. Это же относится и к указателям.

Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/19314

PS Magicas - Three moving averages PS Magicas - Three moving averages

PS Magicas - три скользящих средних, которые задают цель и возможные входы.

KDJ Expert Advisor KDJ Expert Advisor

Эксперт по индикатору "KDJ Indicator"

Daily BreakPoint Daily BreakPoint

Стратегия пробоя дневного бара.

FractalLevels_System FractalLevels_System

Индикатор, реализующий пробойную систему с использованием канала индикатора Fractal_Levels.