Download MetaTrader 5

Watch how to download trading robots for free

Interesting script?
So post a link to it -
let others appraise it

You liked the script? Try it in the MetaTrader 5 terminal


An abstract trading robot, an OOP pattern - expert for MetaTrader 5

| English Русский 中文 Español Deutsch Português

votes: 19
2018.01.22 09:19
pattern.mq5 (22.92 KB)view

When creating an automated trading system, developers often face the problem of choosing from a number of possible solutions. Patterns would be very useful in such cases. Almost certainly, such problems have already been solved earlier, and there are well thought out elegant solutions implemented by programmers from the expert community.

Designing object oriented programs is not an easy task, which becomes even more complicated when you need to reuse these solutions. It is necessary to select suitable objects, arrange them in appropriate classes with a reasonable degree of detailing, define class interfaces and inheritance hierarchy, etc.

What do experienced programmers do to solve this task?

First of all, every new problem should not be solved from scratch. It's better to use solutions, which have proven to be successful in the past. Many object oriented Expert Advisors contain similar patterns consisting of classes and interacting objects. Those trading robot developers, who use patterns, can instantly apply the patterns to implement a new task, without having to "reinvent the wheel".

The proposed template can be used for creating a real Expert Advisor, not an abstract one.

Translated from Russian by MetaQuotes Software Corp.
Original code:

eaBreakeven eaBreakeven

The expert advisor moves stop loss of position at user-defined breakeven.

CDouble & CDoubleVector CDouble & CDoubleVector

A library for common rounding methods used in MQL development, primitive wrapper class for type (double), and vector for CDouble objects. MQL5 and MQL4 compatible!

MACD Crossing the zero level MACD Crossing the zero level

Displays areas, in which the MACD indicator crosses the zero line.

MACD Crossing the zero level (color candles) MACD Crossing the zero level (color candles)

Color candlesticks display areas, in which the MACD indicator crosses the zero line.