カスタムインジケータ(機能-iCustom)使用時のEA加速度理論について - ページ 6 123456789 新しいコメント Aleksey Vyazmikin 2015.05.18 12:06 #51 Alexander Laur、つまりスクリプト/アドバイザーを実行している限り、メモリは確保され、クリアすることができない - 悲しい結論です。 スクリプトで別のスクリプトを実行し、実行中のスクリプトを閉じるとメモリがクリアされるはずですが、それは複雑な処理環境とみなされるのでしょうか。 Andrey Khatimlianskii 2015.05.18 13:04 #52 -Aleks-:Alexander Laur、つまりスクリプト/アドバイザーを実行している限り、メモリは確保され、クリーニングすることができない - 悲しい結論です。 別のスクリプトを実行し、実行中のスクリプトを閉じるとメモリクリアになるはずですが、複雑なデータ処理環境とみなされるのでしょうか。早速、「Expert Advisorを起動した状態でチャートを 開く」ことを提案したところ、「ChartOpen + ChartApplyTemplate」で実現可能です。問題は、閉じる(Expert Advisorを削除する)ときに、メモリが解放されるかどうかだけです。確認してください。 Aleksey Vyazmikin 2015.05.18 14:09 #53 Andrey Khatimlianskii:早速、「Expert Advisorを起動した状態でチャートを 開く」ことを提案したところ、「ChartOpen + ChartApplyTemplate」で実現可能です。問題は、閉じる(Expert Advisorを削除する)ときに、メモリが解放されるかどうかだけです。チェックする。 手動で、インジケーターの多いテンプレートをほぼ空っぽに変更して試しましたが、効果はありました(ただし、キャッシュは残りますが、致命的ではないと思います)。しかし、テンプレートスクリプトでどのように開閉を行うのか、私にはわかりません。スクリプトを実行している限り、メモリはクリアされないという疑念は理解できたのですが...。アンドレイさん、実験に協力してください。 Aleksey Vyazmikin 2015.05.18 14:28 #54 追加質問ですが、インジケータ内の計算の ためのリアルバッファタイプの選択は、グラフィカルバッファのサイズに影響するのでしょうか?タイプサイズ(バイト)正の最小値最大値表現の正確さC++でアナログうかぶ41.175494351e-383.402823466e+38有効数字7桁うかぶ二重82.2250738585072014e-3081.7976931348623158e+308有効数字15桁二重また、グラフィカルなバッファの代わりにTextOutを 使ったらどうだろうという、とんでもないアイデアもあります- ただ、そこからデータを読み出す 方法がわからないのですが...。 Denis Kirichenko 2015.05.18 14:52 #55 -Aleks-:追加質問ですが、インジケータ内の計算の ための実バッファタイプの選択は、グラフィカルバッファのサイズに影響するのでしょうか? グラフィカルバッファ」というのは、通常のインジケーターのグラフィカル表示のことでしょうか? Aleksey Vyazmikin 2015.05.18 14:59 #56 Dennis Kirichenko: グラフィカルバッファというのは、通常のインジケーターをグラフィカルに表示することでしょうか?問題は、計算のためのインジケータコードでdoubleの 代わりに floatを 使用した場合、グラフィカルバッファに割り当てられるメモリのサイズに1バー分影響を与えることが可能かどうかということです。//---- buffersdouble Vy[];double bufDirSoft[];extern int n=3; extern int BarsN=100;//---- int ExtCountedBars=0; Aleksey Vyazmikin 2015.05.18 15:00 #57 また、メモリがなくなったことを見分ける方法は、何か機能があるのでしょうか? Denis Kirichenko 2015.05.18 15:09 #58 -Aleks-:問題は、計算のためのインジケータコードでdoubleではなくfloatを使用した場合、グラフィカルバッファに割り当てられるメモリのサイズに1バー分影響を与えることが可能かどうか...です。いいえ、すべての試行を置き換える魔法の関数があります。 bool SetIndexBuffer( int index, // индекс буфера double buffer[], // массив ENUM_INDEXBUFFER_TYPE data_type // что будем хранить );この仕組みは、ターミナル言語自体に組み込まれています。面白いアイデアではあるのですが...。 Denis Kirichenko 2015.05.18 15:11 #59 -Aleks-:また、メモリがなくなったことを見分ける方法は、何か機能があるのでしょうか?メモリが足りないとはどういうことですか?:-)ここに何かある。https://www.mql5.com/ru/docs/constants/environment_state/terminalstatus#enum_terminal_info_integer私見ですが、インジケータリソースのメモリ管理で最も効果的な方法は、"Max bars in history" パラメータ(Settings --> Charts)を最小にすることです。私の記憶では、パラメーターの最小値は5kです。 Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала www.mql5.com Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Vladimir Karputov 2015.05.18 15:23 #60 -Aleks-: また、メモリ不足を知るにはどうしたらいいのでしょうか、何か機能はありますか?端末の情報を取得 することができる端末メモリ合計端末(エージェント)プロセスで利用可能なメモリサイズ(単位:MBイントターミナル_メモリ使用可能端末(エージェント)プロセスの利用可能なメモリサイズ(MB)。イント端末のメモリ使用量端末(エージェント)が使用するメモリサイズ、単位:MBイント 123456789 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
Alexander Laur、つまりスクリプト/アドバイザーを実行している限り、メモリは確保され、クリアすることができない - 悲しい結論です。
スクリプトで別のスクリプトを実行し、実行中のスクリプトを閉じるとメモリがクリアされるはずですが、それは複雑な処理環境とみなされるのでしょうか。
Alexander Laur、つまりスクリプト/アドバイザーを実行している限り、メモリは確保され、クリーニングすることができない - 悲しい結論です。
別のスクリプトを実行し、実行中のスクリプトを閉じるとメモリクリアになるはずですが、複雑なデータ処理環境とみなされるのでしょうか。
早速、「Expert Advisorを起動した状態でチャートを 開く」ことを提案したところ、「ChartOpen + ChartApplyTemplate」で実現可能です。
問題は、閉じる(Expert Advisorを削除する)ときに、メモリが解放されるかどうかだけです。
確認してください。
早速、「Expert Advisorを起動した状態でチャートを 開く」ことを提案したところ、「ChartOpen + ChartApplyTemplate」で実現可能です。
問題は、閉じる(Expert Advisorを削除する)ときに、メモリが解放されるかどうかだけです。
チェックする。
追加質問ですが、インジケータ内の計算の ためのリアルバッファタイプの選択は、グラフィカルバッファのサイズに影響するのでしょうか?
タイプ
サイズ(バイト)
正の最小値
最大値
表現の正確さ
C++でアナログ
うかぶ
4
1.175494351e-38
3.402823466e+38
有効数字7桁
うかぶ
二重
8
2.2250738585072014e-308
1.7976931348623158e+308
有効数字15桁
二重
また、グラフィカルなバッファの代わりにTextOutを 使ったらどうだろうという、とんでもないアイデアもあります- ただ、そこからデータを読み出す 方法がわからないのですが...。
追加質問ですが、インジケータ内の計算の ための実バッファタイプの選択は、グラフィカルバッファのサイズに影響するのでしょうか?
グラフィカルバッファというのは、通常のインジケーターをグラフィカルに表示することでしょうか?
問題は、計算のためのインジケータコードでdoubleの 代わりに floatを 使用した場合、グラフィカルバッファに割り当てられるメモリのサイズに1バー分影響を与えることが可能かどうかということです。
//---- buffers
double Vy[];
double bufDirSoft[];
extern int n=3;
extern int BarsN=100;
//----
int ExtCountedBars=0;
問題は、計算のためのインジケータコードでdoubleではなくfloatを使用した場合、グラフィカルバッファに割り当てられるメモリのサイズに1バー分影響を与えることが可能かどうか...です。
いいえ、すべての試行を置き換える魔法の関数があります。
この仕組みは、ターミナル言語自体に組み込まれています。面白いアイデアではあるのですが...。
また、メモリがなくなったことを見分ける方法は、何か機能があるのでしょうか?
メモリが足りないとはどういうことですか?:-)
ここに何かある。
https://www.mql5.com/ru/docs/constants/environment_state/terminalstatus#enum_terminal_info_integer
私見ですが、インジケータリソースのメモリ管理で最も効果的な方法は、"Max bars in history" パラメータ(Settings --> Charts)を最小にすることです。私の記憶では、パラメーターの最小値は5kです。
また、メモリ不足を知るにはどうしたらいいのでしょうか、何か機能はありますか?
端末の情報を取得 することができる
端末メモリ合計
端末(エージェント)プロセスで利用可能なメモリサイズ(単位:MB
イント
ターミナル_メモリ使用可能
端末(エージェント)プロセスの利用可能なメモリサイズ(MB)。
イント
端末のメモリ使用量
端末(エージェント)が使用するメモリサイズ、単位:MB
イント