A class to control the MIDI device is located in the IncMIDI.mqh file. The example of its use is represented in the eMIDI.mq5 file.
The order of using the CMIDI class
#include <IncMIDI.mqh> CMIDI m;
Music program
Music program is recorded in the string array. In one array element is written a list of actions. Actions are written by a comma. At first a command, an equal sign and a command value are written. The following commands are available:
It is possible to take chords, for example, "NoteDN=57, NoteDN=60, NoteDN=64". A possible parallel play on several instruments, for example, "Instrument=1, NoteDN=60, Instrument=123, NoteDN=60". Different instruments' volume can not be changed, all is played on the same volume, but you can change the volume of different parts of playing, for example:

"Tick=1500, Instrument=123, Volume=100, NoteDN=60", "VolumeL=0, VolumeR=100, NoteDN=64", "VolumeL=100, VolumeR=0, NoteDN=57", "Volume=50, NoteDN=67, NoneDN=57", "Volume=25, NoteDN=64, NoneDN=67"
The CMIDI class methods
Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/1555
MD5 Hash
Calculation of 32 digit string MD5-hash from transmitted byte array
EMAPredictive3
The Moving Average drawn on the basis of the EMA algorithm. A linear interpolation of two different period EMA is used
i-Friday_Sig
Signals of entries and exits on the system "Friday effect"
Narrowest Range Signal
The narrowest range indicator defines the moments when the market is in the "compressed" state that says of the future breakthrough in this or that side