
Learn to create your own indicators with MQL5, build trading robots and expert advisors, and monetize your skills through freelancing, selling indicators, or managing funds.
Learn to store data in MQL5: comments, variables, data types (strings, integers, datetime), operators, loops, functions, and object oriented programming with classes and inheritance, plus project indicators.
Set up your MQL5 environment by installing MetaTrader 5, configuring the editor, and using a shared template to code indicators, scripts, and advisors for the course.
Learn to use single-line and multi-line comments in MQL5, and to define variables with proper identifiers, including declaring multiple variables and understanding basic data types and semicolons.
Explore global variables, local variables, and static variables in MQL5, and learn how scope and memory affect function blocks in algorithmic trading.
Explore strings in MQL5: declare string variables, use double quotes, and apply escape sequences for quotes, newlines, and tabs; print, concatenate, index, and consider ASCII values.
Explore string concatenation in MQL5 by joining strings with plus equals and the string concatenate function, learning to manage variables, memory, and basic string operations.
Master integer datatypes in MQL5, including signed and unsigned variants, short, int, and long, understanding memory usage and range limits shown by examples in the lecture.
Understand real numbers and how float and double store decimals with different memory amounts, and why double offers more accuracy for price data like exchange rates in MQL5.
Explore how MQL5 treats booleans as integers, with 1 as true and 0 as false, and note behavior for unassigned values or any value greater than one.
Learn how the MQL5 datetime datatype stores date and time, using Unix time (seconds since 1970-01-01) to initialize variables with specific year, month, and day formats.
Learn about arrays in MQL5, from declaring arrays with square brackets and initializer lists to zero-based indexing, accessing elements by index, and using array size to determine element count.
Explore static and dynamic arrays in MQL5, showing fixed-size versus resizable arrays, using the array size function to determine length and resizing dynamic arrays for flexible data handling.
Explore single and multidimensional arrays in MQL5, detailing static vs dynamic arrays, indexing, and initialization. Learn to access values with nested brackets and distinguish rows and columns in practice.
Master the color datatype in MQL5 to visualize indicators and market trends, define color variables, and initialize colors by name, RTP values, or hexadecimal values.
Explore the enumeration datatype in MQL5, a user defined integer type used to list constants. Define enums, set starting values, and leverage predefined enums for input variables.
Explore how structures enable object oriented programming in MQL5 by grouping related attributes into a data type, accessing them with dot notation, and contrasting structures with enumerations.
Learn how input variables in MQL5 are exposed to end users, including static versus non-static inputs, grouping with script calculator data, and using enumerations for clear parameter control.
Explore predefined variables in MQL5, learn to use them as function parameters without declaration, including symbol, timeframe, period, and digits, and format outputs with string format.
Explore arithmetic operators in mql5, including addition, subtraction, multiplication, and division, with array handling, resizing, and size calculations using the array range function.
Explore assignment operations in MQL5, including plus equals and other compound assignments for addition, subtraction, multiplication, and division, with integers and doubles, plus increment and decrement.
Learn relation operators in MQL5, compare numbers using greater than, less than, and equal, not equal, and use normalization for price calculations to five digits in currency contexts.
Explore boolean operations in MQL5, using and (&&), or (||), and not (!) to evaluate statements as true or false and drive alerts.
Learn how conditional operators drive decisions in mql5 by using if, else, and else if to handle trading day logic and indicator decisions.
Explore the ternary operator as a compact, one-line alternative to if-else for boolean conditions, illustrating its three parts (condition, ?, true branch, false branch) and practical boolean outputs.
Learn how the switch operator in MQL5 maps a day variable to constants using case statements, with default handling and break to stop after a match.
Explains how to use the for loop to count and accumulate values, initializing a counter, setting a condition, and incrementing, with examples using integers and doubles.
Explore the while loop as a way to repeat tasks without counting, using a condition, a boolean finished flag, and an incrementing x to stop when x reaches 10.
Learn how the do while loop guarantees at least one execution by running the body before the condition check, using a counting example to contrast with for and while loops.
This lecture explains using the break operator to terminate loops based on a condition, preventing infinite iterations, and illustrates with for loops stopping at a chosen value.
Learn how the continue operator skips specific iterations in a for loop, keeping unwanted values out of the iteration in MQL5 language for algorithmic trading.
Master nesting loops in MQL5 by embedding a loop inside another, using for and inner calculations to print products with formatting, and control flow with break and continue.
Discover how to design and use functions in MQL5, including declarations, prototypes, parameters, return values, and calling functions to compute tasks like area calculations.
Learn how parameters pass into functions in MQL5, including actual vs formal parameters, optional defaults, parameter counts and order, and how data types affect division results.
explains void functions in MQL5, showing how a function with no return type handles data and parameters, and how by reference can update values inside the caller.
Understand passing by reference in MQL5, why arrays are passed by reference, and how to create a function that averages an array while avoiding division by zero with const parameters.
Master function overloading in MQL5 by using the same name for integer and double inputs, with array-based averages and signature matching guiding the call.
Explore object oriented programming in MQL5 by introducing classes and objects as templates for reusable code, where objects inherit data and functions from their class.
Create objects with a class blueprint in MQL5 by defining a trader class with attributes (name, account size, trading style, experience) and methods to print the trader's details.
Explore class methods in MQL5 by turning class attributes into parameterized functions, creating and printing traitor objects, and learning to declare versus define methods for cleaner, flexible code.
Explore constructors in MQL5, showing how they auto-run when objects are created, the role of destructors, and how constructors can have parameters or be parameterless, including date formatting.
Explore inheritance in mql5, where a derived class inherits base class attributes. Understand public, protected, and private visibility, single inheritance, and practical salary and payslip examples.
Explore inheriting methods and functions in MQL5, using a double-typed function to compute annual income from salary and bonus, and observe how inherited values contribute to the result.
Explore public, private, and protected access controls and multilevel and hierarchical inheritance in MQL5, with examples of salary, investment, and annual income.
Create a class that checks if a value exists in an array with a for loop. Overload the function to support int and double, returning the index when found.
Learn how virtual functions enable runtime polymorphism in a shape hierarchy within the MQL5 language, using base and derived classes such as square and rectangle to compute areas.
Explore a shape class hierarchy with C shape, with constructors, a get type method, and a virtual get area function for circle and rectangle, using radius, length, width, and pi.
Explore object-oriented programming in mql5 by creating an array of shapes, instantiating circle and rectangle with new, leveraging polymorphism to compute areas, iterating results, and examining virtual function usage.
Learn to build a simple, smooth moving average indicator as the first indicator in MQL5, including input parameters like moving average period and shift, and plotting on the chart.
Create an sma indicator by averaging the sum of closing prices over a chosen period, using the moving average period, and manage it with indicator buffers and plotting functions.
Explore how to implement a simple moving average SMA indicator in MQL5, focusing on the on calculate function, input parameters, and buffer storage for results.
Master calculating the true strength index (tsi) by smoothing momentum with two exponential moving averages, and use tsa to identify trends with customizable smoothing periods and apply-to price choices.
Explore the tsi indicator 02 in mql5, compare two indicator templates, enable apply to options for close, high, or low, and create indicator buffers for calculations.
Calculate momentum and absolute momentum from price differences, store them in buffers, and apply two-stage exponential smoothing using imported moving average functions to derive the tsi indicator.
Optimize the TSI indicator by initializing buffers and computing only the latest bar, reusing previous calculations for efficiency. Improve readability and usability with digits, clear naming, and applied price settings.
Edit an existing MQL5 TSI indicator to add a blue signal line derived from a moving average of the TSA line, with editable period and moving average type.
Algorithmic trading is the future and MQL5 is the best language to develop trading algorithms!!
Algorithmic trading is a trading method which uses automated pre-programmed trading instructions to execute trades and MQL5 is one of the programming languages used to set those trading instructions. It accounts for variables such as time, price, and volume. Algorithmic trading with MQL5 uses the speed, non-subjectivity and computational resources of computers relative to human traders.
In this century algorithmic trading with MQL5 has been gaining traction with both retail and institutional traders. It is widely used by investment banks, pension funds, mutual funds, and hedge funds that may need to spread out the execution of a larger order or perform trades too fast for human traders to react to.
A study in 2019 showed that around 92% of trading in the Forex market was performed by algorithmic trading rather than humans. This basically shows you the direction we are heading to as traders where automated traders appear to have an edge over manual traders in an evolve or die situation. I choose to evolve, shall you?
MQL5 is the most powerful of all trading languages that are used to make algorithmic trading softwares for retail traders. It’s 100% free and comes with the best trading platform, MT5.
The main flagship of MQL5 is its facilitation of Object Oriented programming. This is very important in MQL5 algorithmic trading because it allows programmers to produce more efficient programs.
Indicators are powerful tools and with MQL5, you can develop any indicator you wish to develop. They are part of algorithmic trading in that they display statistical calculations in easily interpreted formats such that we can make decisions about the movement of price based on that statistical data.
In this MQL5 algorithmic trading course, I shall walk you comprehensively through the basics that you shall need to be competent in the language. We shall cover the following:
Storing data in MQL5 Variables
MQL5 Datatypes
Operators and Operations in MQL5
MQL5 conditional operators
MQL5 loops
Functions in MQL5
MQL5 Object Oriented Programing with classes
MQL5 Projects
In the MQL5 projects section, we shall create some indicators and Expert advisors or trading robots to assist us to implement Algorithmic trading.
So scroll back up, press that enroll button, an let’s begin learning how to create our own algorithmic trading tools with MQL5.