Programmatically Attach Expert Advisors with Custom Inputs to MetaTrader 5 Charts

Programmatically Attach Expert Advisors with Custom Inputs to MetaTrader 5 Charts
Download ALL MT5 experts (1731)
YouTube Video Thumbnail



Similar MetaTrader Tools

Programmatically Attach Expert Advisors with Custom Inputs to MetaTrader 5 Charts

Info

The Programmatically Attach Expert Advisors with Custom Inputs to MetaTrader 5 Charts is a Expert Advisor for MetaTrader 5 that attachexpert. mqh provides a method to attach an Expert Advisor (EA) to a MetaTrader 5 chart directly from MQL5 code.

Usage

This tool is typically used for automated trading on major forex pairs and gold.

Platform

This Expert Advisor works exclusively on MetaTrader 5 (both build 600+ and newer versions).

Setup

Place the downloaded file in MQL5/Experts folder via File ? Open Data Folder in MetaTrader 5.


How to Install and Use Programmatically Attach Expert Advisors with Custom Inputs to MetaTrader 5 Charts

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

AttachExpert.

Typical Use Case

This Expert Advisor excels in automated trading and technical analysis on MetaTrader 5.

Compatible Platform & Setup

This Expert Advisor works on MetaTrader 5. Place the file in the MQL5/Experts folder and restart the terminal.

Description & Settings

Related: Random Trading Strategy - another powerful expert for MetaTrader 5 traders.

AttachExpert.mqh provides a method to attach an Expert Advisor (EA) to a MetaTrader 5 chart directly from MQL5 code. This utility allows you to specify EA input parameters and control whether algorithmic trading is enabled for the attached EA. As the standard MQL5 API does not offer a direct function for this purpose, this library creates a template file containing an block and applies it to the desired chart using ChartApplyTemplate().

Also recommended: RSI Oscillator Moving Average Trading System - similar expert with strong performance on MetaTrader 5.


Usage

#include

long chart = ChartOpen("EURUSD", PERIOD_H1);
CExpertInputs in;
in.SetInt("InpValue", 42);
in.SetDouble("InpRatio", 1.25, 2);
in.SetString("InpText", "hello world");
in.SetBool("InpFlag", true);
AttachExpert(chart, "MyFolder\MyEA", in, true); // MQL5\Experts\MyFolder\MyEA.ex5

EAs attached using this method will utilize default input values for any parameters that are not explicitly set.

The template application process occurs asynchronously. By default, the AttachExpert() function will wait for up to 10 seconds for the EA to become active on the chart, indicated by CHART_EXPERT_NAME. To return control immediately after initiating the attachment, set waitMs to 0. This is useful in scenarios such as when calling from within another Expert Advisor.

Important: Avoid applying the template to the chart of the currently executing Expert Advisor. Doing so may result in the replacement of the calling EA.

The ability for an attached EA to execute trades is also dependent on the state of the "Allow Algo Trading" button in the MetaTrader terminal.

Example

The provided script, AttachExpertExample.mq5, demonstrates how to open a new chart and attach the "Moving Average" example EA (located in Experts\Examples\Moving Average) with specific input parameters. Ensure that AttachExpert.mqh is placed in your MQL5\Include directory and the script is in your MQL5\Scripts directory.

Verification

Testing was conducted by attaching an EA to charts across various timeframes (M15, H1, H4, and D1). The EA successfully reported the received input values (integer, double, string including spaces, and boolean) and its trading allowance status, all of which matched the configured parameters. See picture 1 for details.

You may also like: Trading Tool Assistant - excellent alternative for expert users on MetaTrader 5.

Source Code

#property copyright "RobotFX"
#property version   "1.00"
#property script_show_inputs
#include <AttachExpert.mqh>
input string          InpSymbol  = "";
input ENUM_TIMEFRAMES InpPeriod  = PERIOD_H1;
input bool            InpTrading = false;
void OnStart()
  {
   const string symbol = InpSymbol == "" ? _Symbol : InpSymbol;

.......

Leave your opinion, ask a question, share some knowledge

⚠ 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.
© ROBOTFX Free educational tools by RobotFX. Use entirely at your own risk; we are not liable for any financial losses incurred.