Version 2.0
2025.01.31
1. Bug Fixes
CopyBuffer Working Correctly: We fixed issues with the CopyBuffer function so that it handles arrays correctly, avoiding errors and ensuring proper updating of indicators.
Independent Symbol Data: Each symbol now has its own data structure, preventing information from being overwritten between symbols.
2. Improved Multiple Symbol Handling
Current Symbol Exclusion: The EA no longer trades on the symbol it is attached to, focusing only on selected symbols.
Accurate Symbol Mapping: We use an advanced technique to ensure that only similar and accurate symbols are mapped from the Market Watch.
3. Validations and Security
Pre-Trade Checks: Before placing trades, the EA checks that indicators are set correctly, volume and margin are adequate, and the spread is within the allowed limit.
Improved Error Handling: Detailed messages are now displayed to easily identify and fix issues.
4. Trading Logic Optimization
Trading Consistency: Each symbol manages its own trade counts and profit calculations independently, avoiding interference.
Spread and Margin Control: Ensures that the spread does not exceed the maximum allowed and that there is sufficient margin before opening new positions.
5. Chart Configuration Improvements
Custom Visuals: Bullish and Bearish candle colors are now customizable for better visualization.
Less Clutter: We removed the volume display on the chart to focus on key indicators.
6. Additional Features
Partial Position Closing: You can now partially close positions by a specified percentage, offering greater flexibility.
Historical Profits: Improved calculation and display of historical profits by day, week, and month, also showing their percentage of the balance.
7. Performance Optimization
Efficient Indicator Update: We reduce redundant operations and optimize indicator update for better overall EA performance.
Version 1.4
2024.12.07
- Improved support for non-standard symbols: The system can now automatically map the symbol closest to the original, improving support for variants such as EURUSD.i, EURUSD.pro, xEURUSD, and others.
- Neural network training optimization: More data has been added to the training process, which should translate into significant improvements in long-term results.
Version 1.3
2024.12.03
👋 Hello everyone!
I want to share a little anecdote with you about an error I recently encountered in our Expert Advisor (EA) and how I fixed it. 🛠️
🔍 The Problem
I was conducting some tests and noticed that the terminal was slowing down more than expected during historical backtesting. Upon investigating, I discovered that a function I had created, Display_Info(), was executing even when it shouldn't.
🤦♂️ What Did I Do Wrong?
The logic I used to control when Display_Info() should execute was incorrect. Initially, the condition I implemented was:
if(ShowInfo && (!MQLInfoInteger(MQL_OPTIMIZATION) || (MQLInfoInteger(MQL_VISUAL_MODE))))
{
Display_Info();
}
I thought this would ensure that the function only executed during live trading or historical backtesting in visual mode. However, the logic allowed Display_Info() to run in undesired contexts, such as during optimizations or non-visual tests, which caused the terminal to slow down.
🔧 The Solution
After carefully analyzing the issue, I adjusted the condition to ensure that Display_Info() only executes in the correct scenarios:
if(ShowInfo &&
(
(!MQLInfoInteger(MQL_OPTIMIZATION) && !MQLInfoInteger(MQL_TESTER)) ||
(MQLInfoInteger(MQL_TESTER) && MQLInfoInteger(MQL_VISUAL_MODE))
)
)
{
Display_Info();
}
✅ Result
Performance Improvement: The terminal no longer slows down during optimizations or non-visual tests.
More Accurate Calculations: Display_Info() now only runs when it is truly necessary, ensuring the accuracy of historical profit calculations.