Watch how to download trading robots for free
Find us on Twitter!
Join our fan page
Interesting script?
So post a link to it -
let others appraise it
You liked the script? Try it in the MetaTrader 5 terminal
Experts

MQL5 Programming for Traders – Source Codes from the Book. Part 5 - expert for MetaTrader 5

Views:
1908
Rating:
(6)
Published:
2023.12.15 15:02
Updated:
2023.12.15 15:29
\MQL5\Experts\MQL5Book\p5\
LifeCycle.mq5 (1.52 KB) view
\MQL5\Files\MQL5Book\
ansi1252.txt (0.05 KB) view
clock10.htm (0.96 KB)
clock10.png (0.32 KB)
envrun.bat (0.05 KB)
icons-322-46.bmp (57.91 KB)
unicode1.txt (0.1 KB) view
unicode2.txt (0.1 KB) view
unicode3.txt (0.1 KB) view
utf8.txt (0.05 KB) view
\MQL5\Include\MQL5Book\
AppliedTo.mqh (1.17 KB) view
ArrayUtils.mqh (4.19 KB) view
AutoIndicator.mqh (11.07 KB) view
AutoPtr.mqh (1.87 KB) view
CalendarCache.mqh (24.24 KB) view
ColorMix.mqh (6.25 KB) view
Comments.mqh (3.71 KB) view
ConverterT.mqh (0.96 KB) view
CRC32.mqh (1.89 KB) view
CustomOrder.mqh (8.69 KB) view
CustomTrade.mqh (39.4 KB) view
DateTime.mqh (2.56 KB) view
DBSQLite.mqh (24.03 KB) view
DealFilter.mqh (0.84 KB) view
DealMonitor.mqh (4.56 KB) view
Defines.mqh (0.71 KB) view
EnumToArray.mqh (1.54 KB) view
FileHandle.mqh (1.97 KB) view
FileHolder.mqh (3.64 KB) view
HTTPHeader.mqh (3.18 KB) view
HTTPRequest.mqh (2.54 KB) view
IndBufArray.mqh (7.17 KB) view
IndCommon.mqh (0.9 KB) view
IS.mqh (0.98 KB) view
LibRand.mqh (1.23 KB) view
MapArray.mqh (2.64 KB) view
MqlError.mqh (8.53 KB) view
MqlTradeSync.mqh (35.33 KB) view
MultiTimer.mqh (6.77 KB) view
ObjectMonitor.mqh (10.68 KB) view
OptReader.mqh (21.93 KB) view
OrderFilter.mqh (1.19 KB) view
Periods.mqh (1.95 KB) view
Permissions.mqh (4.87 KB) view
PNG.mqh (5.31 KB) view
PRTF.mqh (1.07 KB) view
QuickSortT.mqh (1.67 KB) view
QuickSortTm.mqh (2.43 KB) view
Reservoir.mqh (4.71 KB) view
RSquared.mqh (2.27 KB) view
RTTI.mqh (1.57 KB) view
StringUtils.mqh (1.91 KB) view
StructPrint.mqh (0.85 KB) view
Tableau.mqh (8.79 KB) view
TickEnum.mqh (2.4 KB) view
TickFilter.mqh (3.74 KB) view
TickModel.mqh (2.67 KB) view
Timing.mqh (1.71 KB) view
toyjson.mqh (11.4 KB) view
TplFile.mqh (8.12 KB) view
TplFileFull.mqh (11.01 KB) view
TradeCache.mqh (7.55 KB) view
TradeFilter.mqh (10.59 KB) view
TradeGuard.mqh (4.42 KB) view
TradeReport.mqh (8.83 KB) view
TradeReportSVG.htm (0.38 KB)
TradeState.mqh (5.91 KB) view
TradeUtils.mqh (11.51 KB) view
Tuples.mqh (4.94 KB) view
Uninit.mqh (1.16 KB) view
URL.mqh (4.64 KB) view
Warnings.mqh (0.54 KB) view
\MQL5\Include\MQL5Book\ws\
wsclient.mqh (5.19 KB) view
wsframe.mqh (11.62 KB) view
wsmessage.mqh (5.44 KB) view
wsprotocol.mqh (15.63 KB) view
wstools.mqh (6.22 KB) view
wstransport.mqh (5.33 KB) view
\MQL5\Indicators\MQL5Book\p5\
EventAll.mq5 (3.18 KB) view
IndBarIndex.mq5 (2.75 KB) view
IndColorWPR.mq5 (4.22 KB) view
IndFractals.mq5 (3.63 KB) view
IndReplica1.mq5 (2.08 KB) view
IndReplica2.mq5 (1.96 KB) view
IndReplica3.mq5 (2.06 KB) view
IndStub.mq5 (1.15 KB) view
IndSubChart.mq5 (9.47 KB) view
IndWPR.mq5 (2.8 KB) view
LifeCycle.mq5 (2.01 KB) view
ObjectChart.mq5 (4.87 KB) view
SubScaler.mq5 (5.67 KB) view
UseDemoAll.mq5 (5.3 KB) view
UseM1MA.mq5 (6.92 KB) view
UseWPR1.mq5 (2.95 KB) view
UseWPR2.mq5 (2.47 KB) view
UseWPR3.mq5 (1.91 KB) view
UseWPRMTF.mq5 (5.91 KB) view
\MQL5\Libraries\MQL5Book\
LibRand.mq5 (3 KB) view
\MQL5\Presets\MQL5Book\
BandOsMA.set (1.22 KB)
BandOsMACustom.set (1.54 KB)
BandOsMAticks.set (1.24 KB)
\MQL5\Scripts\MQL5Book\p5\
AllInOne.mq5 (1.58 KB) view
AllInOne.mqh (5.16 KB) view
ChartDock.mq5 (1.75 KB) view
ChartDrop.mq5 (1.58 KB) view
ChartList.mq5 (4.13 KB) view
ChartList1.mq5 (1.42 KB) view
ChartList2.mq5 (1.49 KB) view
ChartList3.mq5 (2.15 KB) view
ChartList4.mq5 (2.76 KB) view
ChartMode.mq5 (1.3 KB) view
ChartShifts.mq5 (1.36 KB) view
ChartUnfix.mq5 (2.13 KB) view
ChartXY.mq5 (2.67 KB) view
ObjectAngle.mq5 (1.93 KB) view
ObjectCopy.mq5 (3.3 KB) view
ObjectEdit.mq5 (2.38 KB) view
ObjectFont.mq5 (4.52 KB) view
ObjectRays.mq5 (2.45 KB) view
ObjectStyle.mq5 (3.75 KB) view
SeriesBars.mq5 (2.88 KB) view
SeriesCopy.mq5 (3.75 KB) view
SeriesInfo.mq5 (1.76 KB) view
SeriesStats.mq5 (2.31 KB) view
\MQL5\Services\MQL5Book\p5\
Need a robot or indicator based on this code? Order it on Freelance Go to Freelance

Part 5. Creating application programs in MQL5

In "Part 5. Creating application programs" of the MQL5 Programming for Traders book, we'll delve deeper into the APIs associated with algorithmic trading, including financial data analysis and processing, chart visualization, automation, and user interactions.

We will start with the general principles of creating MQL programs and will consider the event types, features, and models in the terminal. We will then explore access to timeseries, operations with charts and graphical objects, as well as the principles of creating and applying each MQL program type separately.

The MetaTrader 5 terminal supports five types of programs: technical indicators, Expert Advisors (EAs) for automatic or semi-automatic trading, scripts for performing one-time tasks, services for background operations, and libraries for individual functional modules.

Application programs in MQL5


We will delve into working with indicators and charts and will learn techniques that are also applicable to Expert Advisors. The development of Expert Advisors will be considered in the next part of the book, where we will explore the automatic execution of orders, the formalization of trading strategies, as well as their testing and optimization using historical data.

We will learn how to use standard built-in indicators and how to create our custom applications from scratch or based on other indicators. All compiled programs are displayed in the Navigator in MetaTrader 5, except for EX5 libraries, which are used by other programs but do not have a separate representation in the Navigator.

As a result, we will gain a more comprehensive understanding of the capabilities of the MQL5 language and its application in algorithmic trading. This will enable us to effectively work with financial data and create trading indicators and Expert Advisors.


Translated from Russian by MetaQuotes Ltd.
Original code: https://www.mql5.com/ru/code/45594

MQL5 Programming for Traders – Source Codes from the Book. Part 4 MQL5 Programming for Traders – Source Codes from the Book. Part 4

In the fourth part of the book, we will focus on mastering built-in functions (MQL5 API) and will gradually delve into specialized subsystems. Any MQL5 program can utilize a plethora of technologies and functionalities. Therefore, it makes sense to begin with the most simple and useful functions that can be utilized in most programs.

MQL5 Programming for Traders – Source Codes from the Book. Part 3 MQL5 Programming for Traders – Source Codes from the Book. Part 3

Part 3 "Object Oriented Programming in MQL5" offers an immersion into the world of object-oriented programming (OOP) in the MQL5 language. Software development often involves the complexity related to the management of multiple entities, requiring advanced technology to improve programming convenience, productivity, and quality.

MQL5 Programming for Traders – Source Codes from the Book. Part 6 MQL5 Programming for Traders – Source Codes from the Book. Part 6

In Part 6 of the "MQL5 Programming for Traders", we will study a key component of the MQL5 language – trading automation. We will start with a description of the fundamental entities, such as financial instrument specifications and trading account settings. These are prerequisites for creating properly operating Expert Advisors.

MQL5 Programming for Traders – Source Codes from the Book. Part 7 MQL5 Programming for Traders – Source Codes from the Book. Part 7

The final seventh part of the book discusses the advanced capabilities of the MQL5 API, which will be useful when developing programs for MetaTrader 5. These include custom financial symbols, built-in economic calendar events, and general-purpose technologies such as networking, databases, and cryptography.