singleton example
Info
The singleton example is a Expert Advisor for MetaTrader 4 that this is a working singleton code example. the sole purpose of this post is to provide a working code sample of a singleton object.
Usage
This tool is typically used for automated trading on major forex pairs and gold.
Platform
This Expert Advisor works exclusively on MetaTrader 4 (both build 600+ and newer versions).
Setup
Place the downloaded file in MQL4/Experts folder via File ? Open Data Folder in MetaTrader 4.
How to Install and Use singleton example
1. Installation: Open the "File" menu, select "Open Data Folder," navigate to MQL/Experts, paste your file, and restart the terminal.
2. Activation: Drag the EA from the Navigator onto a chart, ensure "Allow live trading" is checked in the Common tab, and verify the AutoTrading button is green.
3. Optimization: Right-click your chart, choose "Expert List," click "Properties" to adjust inputs, and save your preferred setup as a set file for future use.
4. Maintenance: Regularly check the "Experts" tab in the terminal window to monitor trade logs and potential execution errors.
Frequently Asked Questions
Q: Why is my EA not opening trades? A: Check the "AutoTrading" button, ensure "Allow live trading" is enabled, and verify your broker allows automated trading on your account type.
Q: Can I run multiple EAs on one chart? A: No, each chart can only host one active EA; however, you can open multiple charts for different currency pairs to run several EAs.
Q: What does the "smiley face" icon mean? A: A smiley face in the top-right corner of the chart indicates the EA is successfully running; a frowny face means it is disabled.
What this tool does
this is a working singleton code example.
Typical Use Case
This Expert Advisor excels in automated trading and technical analysis on MetaTrader 4.
Compatible Platform & Setup
This Expert Advisor works on MetaTrader 4. Place the file in the MQL4/Experts folder and restart the terminal.
Description & Settings
Related: prototype-ix: a multicurrency ea example - another powerful expert for MetaTrader 4 traders.
this is a working singleton code example. the sole purpose of this post is to provide a working code sample of a singleton object. a singleton object is created when there 'can be only one' of the object. this is accomplished by making an object's constructor private, and ensuring assignment and copy operations are also private.
Also recommended: Object Label Example EA for MT4/MT5 - similar expert with strong performance on MetaTrader 4.
i was working on an ea and identified that an object should never have more than one copy. i don't expect the ea to ever get large enough for it to actually matter that a singleton is used, but i like the clarity in the code for the object's type. some programmers argue against the use of singletons, but i think the technical reasons for not using them are mostly resolved with newer compiler technology. it didn't seem like anyone had provided an example of this functionality in this environment — i found only an old reference in the code base from before private static variable initialization was supported by the compiler — as you can see in this example, this functionality works well today.comments or contributions for improving the code are always welcome.
You may also like: Object Label Example for MetaTrader - excellent alternative for expert users on MetaTrader 4.
Source Code
#property copyright "robotfx"
#property link "https://robotfx.org"
#property version "1.00"
#property strict
class cyolinux
{
private:
static cyolinux *m_yolinux; // static pointer to the only instance of exposure manager
int m_tickcounter; // a variable so we can have the object do something (count)
string m_counterdisplay; // a place to store a screen display object name; see it be created and destroyed
.......
⚠ Limitations & Risk Warning
- This tool is provided for educational and testing purposes only.
- Past performance does not guarantee future results.
- Trading involves substantial risk of loss. Use on a demo account first.
- Results may vary depending on market conditions, broker, and settings.
- We recommend thorough backtesting and forward testing before using with real funds.