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 1 - expert for MetaTrader 5

Views:
6156
Rating:
(7)
Published:
2023.12.15 14:06
Updated:
2023.12.15 15:21
\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\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\p1\
GoodTime0.mq5 (1.17 KB) view
GoodTime1.mq5 (1.24 KB) view
GoodTime2.mq5 (1.27 KB) view
Hello.mq5 (0.78 KB) view
HelloChart.mq5 (0.82 KB) view
Need a robot or indicator based on this code? Order it on Freelance Go to Freelance

Part 1. Introduction to MQL5 and development environment

The first book part entitled "Introduction to MQL5 and development environment" describes the basics of the MQL5 languages and development environment.

One of the new features introduced in the MQL5 language compared to MQL4 (MetaTrader 4 language) is support for object-oriented programming (OOP), which makes it similar to C++. Although some OOP functions have already been transferred to MQL4 from MQL5, many users who are not familiar with programming may find OOP difficult.

The purpose of this book is to make this approach understandable and accessible. The book serves as a supplement to the MQL5 reference, covering all aspects of MQL5 programming and explaining all processes in detail. Developers can choose between object-oriented and procedural programming styles, as well as combine both.

Editing, Compiling, and Running Programs

Those who already have programming experience can skip the basics. C++ programmers will find it easier to master MQL5, but you should pay attention to language differences to avoid mistakes.

Using MQL5, you can create different types of programs, such as indicators for graphical display of data, Expert Advisors for trading automation, scripts for one-time actions, and services for background tasks.

A distinctive feature of MetaTrader 5 is the management of the entire trading system from the client terminal, in which MQL5 programs run and send trading commands to the trading server. MQL5 applications are not installed on the server.

Part 1 explains how to edit, compile, and run programs, as well as covers various data types, variables, expressions, arrays, debugging, and output.


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

Candle Grids Candle Grids

Draw a Rectangle on chart to plot custom grids based on points value on input

Heikin Ashi Lines Heikin Ashi Lines

A simpler way to display Heikin Ashi

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

Part 2 "MQL5 programming fundamentals" is an introduction to the key concepts of this programming language. This part of the book is devoted to data types, identifiers, variables, expressions, and operators. You will learn how to combine different instructions to form the program logic.

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.