Download MetaTrader 5

Watch how to download trading robots for free

Interesting script?
So post a link to it -
let others appraise it

You liked the script? Try it in the MetaTrader 5 terminal

Libraries

CDictionary - library for MetaTrader 5

| English Русский Español Português

Views:
1253
Rating:
votes: 20
Published:
2017.11.20 10:10
Updated:
2017.12.01 11:38
\MQL5\Scripts\
dict3.mq5 (3.48 KB)view
\MQL5\Include\
Dictionary.mqh (15.03 KB)view

An implementation of the dictionary (associative array) data structure in MQL5, based on CArrayObj and CList.


Hash Function

FNV-1a


Usage

Primitives:

CDictionary *dict=new CDictionary();
//setting
dict.Set<string>("costarring","liquid");
dict.Set<double>("liquid",0.1);

//getting - variant 1
string variant1 = dict.Get<string>("costarring");
Print(variant1);

//getting - variant 2
double variant2 = 0;
dict.Get<double>("liquid",variant2);
Print(variant2);

It can also store pointers to objects (but not objects or structures):

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


Collision Handling

  1. Each entry would have its own hash.
  2. If two or more entries share the same hash, entries are compared by key and typename. This makes it possible to store multiple entries with the same key (but different type).
  3. When using Set<T>, if there is already an existing entry with the same key and type, the passed value would be treated as a replacement of an existing entry (not a new one). This also applies to pointers.
Resistance & Support Resistance & Support

The indicator of support and resistance lines calculated based on the iFractals (Fractals) indicator values.

MACD Stochastic MACD Stochastic

The trading system is based on iMACD (Moving Average Convergence/Divergence, MACD) and iStochastic (Stochastic Oscillator)

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

PS Magicas - Three moving averages that give target and possible entries.

LeadLagRelationshipTester LeadLagRelationshipTester

Script for checking the LeadLagRelationship indicator (https://www.mql5.com/en/market/product/26229)