MQL5 Programming for Traders – source code from the book. Part 7 - MetaTrader 5 Expert



"Part 7: Advanced MQL5 Tools" Part of the book "Programming MQL5 Traders" discusses advanced features of the MQL5 API, which are very useful when developing MetaTrader 5 programs. These include custom financial instruments, built-in economic calendar events, and common technologies such as networking, databases, and cryptography.
This section covers libraries - a special type of program that provides ready-made APIs for connecting other MQL programs. It also discusses the possibility of developing software packages and combining logically interconnected programs into projects.
Finally, this section covers integration with other software environments, including Python.

We'll start by looking at resources, which are any type of file that can be embedded in your program's code. Resources may include:
The MQL5 development environment allows the inclusion of application data arrays, images, sounds and fonts in source files, making the program a self-sufficient and convenient product for the end user.
Special attention will be paid to graphical resources with raster images in BMP format: you will learn how to dynamically create, edit and display them on charts.
We will conclude the last part of the book by studying OpenCL integration in MQL5. OpenCL is an open standard for parallel programming in multiprocessor systems, including graphics processing units (GPUs) and central processing units (CPUs). As long as an algorithm can be parallelized, it can speed up computationally intensive tasks. These may include training neural networks, Fourier transforms, and solving systems of equations.
The use of OpenCL in MQL programs requires special drivers from the manufacturer and support for OpenCL 1.1 and higher. The presence of a graphics card is not mandatory, since the CPU can also be used for parallel computing.
Attachment download
📎 BandOsMACustom.mq5 (17.78 KB)
📎 BandOsMACustomSignal.mq5 (18.01 KB)
📎 BandOsMAticks.mq5 (12.59 KB)
📎 CalendarTrading.mq5 (9.26 KB)
📎 CustomOrderSend.mq5 (4.38 KB)
📎 CustomTester.mq5 (10.06 KB)
📎 EqualVolumeBars.mq5 (14.87 KB)
📎 PseudoMarketBook.mq5 (7.18 KB)
📎 access.js (0.88 KB)
📎 common.css (0.21 KB)
📎MQL5Book.crt (1.24 KB)
📎 MQL5Book.key (1.69 KB)
📎 wschat.js (3.38 KB)
📎 wschat_client.js (1.56 KB)
📎 wsecho.js (2.87 KB)
📎 wsecho_client.js (1.32 KB)
📎 wsintro.js (1.47 KB)
📎 wspublisher_client.js (2.58 KB)
📎 wspubsub.js (7.26 KB)
📎 wssubscriber_client.js (2.63 KB)
📎 wschat.mq5 (7.22 KB)
📎 wschat.mqproj (4.57 KB)
📎 wsecho.mq5 (1.74 KB)
📎 wsecho.mqproj (4.61 KB)
📎 wstradecopier.mq5 (16.93 KB)
📎 wstradecopier.mqproj (10.38 KB)
📎 clock10.png (0.32 KB)
📎 icons-322-46.bmp (57.91 KB)
📎unicode1.txt (0.1 KB)
📎unicode2.txt (0.1 KB)
📎unicode3.txt (0.1 KB)
📎utf8.txt (0.05 KB)
📎AccountMonitor.mqh (3.7 KB)
📎AppliedTo.mqh (1.17 KB)
📎 ArrayUtils.mqh (4.19 KB)
📎AutoIndicator.mqh (11.07 KB)
📎AutoPtr.mqh (1.87 KB)
📎CalendarCache.mqh (24.24 KB)
📎CalendarDefines.mqh (4.62 KB)
📎CalendarFilter.mqh (28.54 KB)
📎 CalendarFilterCached.mqh (2.38 KB)
📎 ChartModeMonitor.mqh (5.57 KB)
📎 ChartModeMonitorFull.mqh (7.43 KB)
📎 ColorMix.mqh (6.25 KB)
📎 Comments.mqh (3.71 KB)
📎ConverterT.mqh (0.96 KB)
📎 CRC32.mqh (1.89 KB)
📎 CustomOrder.mqh (8.69 KB)
📎CustomSymbolMonitor.mqh (6.15 KB)
📎 CustomTrade.mqh (39.4 KB)
📎 DateTime.mqh (2.56 KB)
📎 DBSQLite.mqh (24.03 KB)
📎 DealFilter.mqh (0.84 KB)
📎 DealMonitor.mqh (4.56 KB)
📎 Defines.mqh (0.71 KB)
📎 EnumToArray.mqh (1.54 KB)
📎 FileHandle.mqh (1.97 KB)
📎 FileHolder.mqh (3.64 KB)
📎 HTTPHeader.mqh (3.18 KB)
📎 HTTPRequest.mqh (2.54 KB)
📎IndBufArray.mqh (7.17 KB)
📎IndCommon.mqh (0.9 KB)
📎 IS.mqh (0.98 KB)
📎 LibHoughTransform.mqh (2.76 KB)
📎 LibRand.mqh (1.23 KB)
📎 LotMarginExposure.mqh (5.65 KB)
📎 MapArray.mqh (2.64 KB)
📎 MarginProfitMeter.mqh (7.21 KB)
📎MatrixProcessor.mqh (2.93 KB)
📎 MqlError.mqh (8.53 KB)
📎MqlParamBuilder.mqh (2.16 KB)
📎 MqlParamStringer.mqh (1.77 KB)
📎 MqlTradeSync.mqh (35.33 KB)
📎 MultiSymbolMonitor.mqh (2.7 KB)
📎 MultiTimer.mqh (6.77 KB)
📎 ObjectMonitor.mqh (10.68 KB)
📎 OptReader.mqh (21.93 KB)
📎 OrderFilter.mqh (1.19 KB)
📎 OrderMonitor.mqh (6.5 KB)
📎OutputStream.mqh (4.18 KB)
📎 Periods.mqh (1.95 KB)
📎 Permissions.mqh (4.87 KB)
📎PermutationGenerator.mqh (2.54 KB)
📎PNG.mqh (5.31 KB)
📎 PositionFilter.mqh (1.38 KB)
📎 PositionMonitor.mqh (5.32 KB)
📎 PRTF.mqh (1.07 KB)
📎 QuickSortStructT.mqh (2.8 KB)
Source: MQL5 #45596
💡 Featured Recommendations
✍️ Latest by the author
- •
- •
- •
- •
- •
- •
📌 Popular topics
- •
- •
- •
- •
- •
- •
- •
- •
🔗 You May Be Interested In
- •
- •
- •
- •
- •
- •