请观看如何免费下载自动交易
请在Telegram上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
显示:
26
等级:
(4)
已发布:
已更新:
\MQL5\Include\fxsaber\Memory\
Memory.mqh (25.5 KB) 预览
\MQL5\Experts\
MQL5自由职业者 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

在 Tester 优化过程中,您可能会遇到因内存不足而导致通行崩溃的情况。

有一种方法可以 计算这种紧急通过。不过,要评估 Expert Advisor 内存消耗量大的输入参数的所有变量是很困难的。


您需要找到现有智能交易系统中可能存在问题的输入参数配置。然后找出原因。


这个简单的库可以让您以相当简单的方式跟踪内存消耗的动态变化。



为了说明问题,让我们以一个简洁的 EA 为例,在其中添加几行(突出显示)。

#property tester_no_cache

#define  MEMORY_TESTER_OPTIMIZATION   // 在测试仪优化模式下运行。
#include <fxsaber\Memory\Memory.mqh> // 内存消耗监控。

input int inMaxMB = 10;

void OnTick()
{
  static MqlRates Rates[];
  
  const int SizeMB = (ArraySize(Rates) * sizeof(MqlRates)) >> 20;
  
  if (SizeMB < inMaxMB)
    ArrayResize(Rates, ((SizeMB + 2) << 20) / sizeof(MqlRates)); // 将数组增加 ~ 兆字节。
}

double OnTester()
{
  return(gMemory.GetMax()); // 程序执行期间的最大内存消耗。
}

Expert Advisor 只需增加其数组。


结果。

图片显示了优化的结果。

内存消耗测量结果类似。


只需通过一次顶层设置,就会产生这样的结果。

Core 1  OnTester result 102
Core 1  2026.02.10 23:58:58   MQL_MEMORY_USED: Min = 0 Max = 102 Last = 0
Core 1  EURUSD,M1: 80954 ticks, 1437 bars generated. Environment synchronized in 0:00:00.020. Test passed in 0:00:01.781.
Core 1  EURUSD,M1: total time from login to stop testing 0:00:01.801 (including 0:00:00.020 for history data synchronization)
Core 1  202 Mb memory used including 23 Mb of history data, 64 Mb of tick data


情景。

通过该库,您可以发现 Expert Advisor 内存消耗过大的问题,并在调试模式下进一步调查原因。

Expert Advisor 消耗的资源越少,优化的机会就越多:测试代理数量增加 - 优化速度加快。

由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/69335

RSI 价格行动突破指标 RSI 价格行动突破指标

结合 RSI 耗尽区和蜡烛图突破形态的高精度趋势反转指标。

蜡烛平仓计时器 - MT5 指标 蜡烛平仓计时器 - MT5 指标

指标描述 - Candle Close Timer 名称:Candle Close Timer 版本: 1.0 作者:BENTRADE TRADING 链接:https://www.mql5.com/en/users/dahmi_benali

Multi-timeframe RSI scanner with visual dashboard and alerts Multi-timeframe RSI scanner with visual dashboard and alerts

可用于生产的多时间框架 RSI 扫描仪,带有智能警报重试系统。可同时监控多达 7 个时间框架,在 3 个以上 TFs 一致时突出显示收敛区,现在还能自动重试失败通知,确保你不会错过关键的超买/超卖设置。

Trend based on WPR Trend based on WPR

该指标结合了 WPR 和总损益。我不知道如何详细介绍这个指标,但您可以试试。