Metatrader 5 - シンボルを通してチャートを循環させるとき、多くのメモリを消費します。 - ページ 2 1234 新しいコメント Alain Verleyen 2016.04.28 09:22 #11 gr101:Windows Server 12 R2に乗せたら、これもメモリが押し上げられました。 しばらく監視して、このスレッドにフィードバックさせてください。 現在650Mbです何も変えずに、そのまま稼働させています。 Doerk Hilger 2016.04.28 09:25 #12 gr101:フィードバックありがとうございます。Windows 10にアップグレードして、違いがあるかどうか見てみようと思います。 ループに着目しているのですね。EAで他に何を使っていますか?グラフィカルなコントロールや 他のコントロールはありますか? gr101 2016.04.28 12:36 #13 先ほどのスクリプトがフルEA(ForumQuestion1.mq5)で、これがメモリを押し上げるものです。EAには他のアクションはありません。グラフィカルなコントロールも ありません。 gr101 2016.04.28 13:32 #14 Alainさん、こんにちは。 添付のワードドキュメントをご覧ください。これは、Windows Azureで動作しているWindows Server 2012 R2インスタンスからのものです。これは新しいマシンで、西ヨーロッパのデータセンターで動作しています。 ForumQuestion1.mq5スクリプトを実行したときにも、時間とともに使用メモリが増加する現象が発生します(このスレッドの前のほうにありました)。8:40am から 14:05pm にかけて、74.1MB から 379.9MB に増加した内訳を示します。 午前8時40分 74.1 MB ForumQuestion1 EAを起動したところ 午前9時53分 281.6 MB 午前10時30分 297.2 MB 午前11時23分 319.3 MB 午後12時23分 343.5 MB 午後13時00分 369.1 MB 午後14時05分 379.9 MB ファイル: Server_2012_R2_.zip 296 kb Metatrader 5 - Takes 非農業部門雇用戦略 Pure maths, physics, logic Daniela Bluemel 2016.04.28 13:41 #15 私のMT4は現在1GBのラムを使用しています。 Alain Verleyen 2016.04.28 13:48 #16 Daniela Bluemel: 私のMT4は現在1GB RAMで動作しています。 このトピックは、MT5ダニエラについてです。 Daniela Bluemel 2016.04.28 13:49 #17 Alain Verleyen: このトピックは、MT5 Danielaに関するものです。 はい、わかっています。でも、私のMT4も同じ動作です。 gr101 2016.04.28 21:56 #18 回避策を発見しました...きれいではありませんが、動作します。解決方法メモリをチェック するPowerShellスクリプトを実行します。60%以上になるとMetaTraderを再起動する。スクリプトは以下の通りです。手順WindowsのStartをクリック"PowerShell ISE" と入力以下のスクリプトをテキストエディタにカット&ペーストしてください。再生ボタンを押す(PS1ファイルに保存してコマンドプロンプトから実行することもできますが、まだテスト中なので、とりあえずPowerShell ISEから実行します)。スクリプトは以下の通りです。メモリが300MBを超えるとメタトレーダー(ターミナル64)を再起動します(タスクマネージャのメモリ欄による)。################################################################# strict-mode cls $memoryThresholdInKiloBytes = 300000 $cooldownSeconds = 30 $loopPauseInSeconds = 30 $counter = 0 while($true){ if($counter -gt 1000){ cls } #write-host "$(get-date) Checking memory in use... counter=$counter" $processPrivateSet = Get-Counter "\Process(terminal64)\Working Set - Private" $wsPrivateKiloBytes = $processPrivateSet.CounterSamples[0].CookedValue / 1KB $memoryLabel = $wsPrivateKiloBytes.ToString('## ### ###') + " K" write-host "$(get-date) Kilo Bytes in use $memoryLabel" if($wsPrivateKiloBytes -gt $memoryThresholdInKiloBytes){ write-host "$(get-date) Over threshold of $memoryLabel closing metatrader" # Close metatrader (terminal64) Get-Process terminal64 | Foreach-Object { $_.CloseMainWindow() | Out-Null } | stop-process –force # Give time to shutdown write-host "$(get-date) Shutting down cooldown of $cooldownSeconds seconds #####################" start-sleep -Seconds $cooldownSeconds # Open metatrader write-host "$(get-date) Opening metatrader again and wait $cooldownSeconds seconds" &"C:\Program Files\MetaTrader 5\terminal64.exe" start-sleep $cooldownSeconds } start-sleep -Seconds $loopPauseInSeconds $counter = $counter + 1; } # Links # http://stackoverflow.com/questions/33344611/get-memory-private-working-set-of-process Carl Schreiber 2016.04.28 22:10 #19 TerminalInfoInteger(...)で 、TERMINAL_MAXBARS を適当な小さい値に設定してみましたか?その横であなたが持っている Terminal_Memory_Physical システム内の物理メモリ、Mb int ターミナル_メモリ_合計 端末のプロセスで利用可能なメモリ、Mb int 端末のメモリ使用量 端末のプロセスの空きメモリ、Mb int ターミナル_メモリ_使用済み 端末が使用しているメモリ , Mb intで、問題の核心はどこかを確認 します。 Frederic Metraux 2016.04.29 00:20 #20 私の2セントは、あなたは「削除記号」だけではメモリを解放していないことです。これを試してみてください。delete symbols; symbols=NULL; 1234 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
Windows Server 12 R2に乗せたら、これもメモリが押し上げられました。
しばらく監視して、このスレッドにフィードバックさせてください。
現在650Mbです
何も変えずに、そのまま稼働させています。
フィードバックありがとうございます。
Windows 10にアップグレードして、違いがあるかどうか見てみようと思います。
先ほどのスクリプトがフルEA(ForumQuestion1.mq5)で、これがメモリを押し上げるものです。EAには他のアクションはありません。
グラフィカルなコントロールも ありません。
Alainさん、こんにちは。
添付のワードドキュメントをご覧ください。これは、Windows Azureで動作しているWindows Server 2012 R2インスタンスからのものです。これは新しいマシンで、西ヨーロッパのデータセンターで動作しています。
ForumQuestion1.mq5スクリプトを実行したときにも、時間とともに使用メモリが増加する現象が発生します(このスレッドの前のほうにありました)。
8:40am から 14:05pm にかけて、74.1MB から 379.9MB に増加した内訳を示します。
午前8時40分
74.1 MB
ForumQuestion1 EAを起動したところ
午前9時53分
281.6 MB
午前10時30分
297.2 MB
午前11時23分
319.3 MB
午後12時23分
343.5 MB
午後13時00分
369.1 MB
午後14時05分
379.9 MB
私のMT4は現在1GB RAMで動作しています。
このトピックは、MT5 Danielaに関するものです。
解決方法メモリをチェック するPowerShellスクリプトを実行します。60%以上になるとMetaTraderを再起動する。
スクリプトは以下の通りです。
手順
スクリプトは以下の通りです。メモリが300MBを超えるとメタトレーダー(ターミナル64)を再起動します(タスクマネージャのメモリ欄による)。
TerminalInfoInteger(...)で 、TERMINAL_MAXBARS を適当な小さい値に設定してみましたか?
その横であなたが持っている
Terminal_Memory_Physical
システム内の物理メモリ、Mb
int
ターミナル_メモリ_合計
端末のプロセスで利用可能なメモリ、Mb
int
端末のメモリ使用量
端末のプロセスの空きメモリ、Mb
int
ターミナル_メモリ_使用済み
端末が使用しているメモリ , Mb
int
で、問題の核心はどこかを確認 します。
私の2セントは、あなたは「削除記号」だけではメモリを解放していないことです。
これを試してみてください。