無料でロボットをダウンロードする方法を見る
Twitter上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
スクリプトを気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
ビュー:
35
評価:
(4)
パブリッシュ済み:
アップデート済み:
\MQL5\Include\fxsaber\Memory\
Memory.mqh (25.5 KB) ビュー
\MQL5\Experts\
MQL5フリーランス このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

Testerで最適化中にメモリ不足でパスがクラッシュすることがあります。

このような緊急パスを計算する方法が あります。しかし、Expert Advisorがメモリを大量に消費する入力パラメータの多くのバリエーションをすべて評価することは困難です。


既存の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インジケーター

インジケーター説明 - キャンドルクローズタイマー Name:キャンドルクローズタイマー Version: 1.0 Author: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つ以上のTFが揃うと収束ゾーンを強調表示します。また、重要な買われ過ぎ/売られ過ぎの設定を見逃さないよう、通知失敗を自動再試行するようになりました。

Trend based on WPR Trend based on WPR

このインジケーターは、WPRとトータル損益を組み合わせたものです。このインジケーターについて詳しく説明することはできませんが、試してみてください。