ライブラリ: DLLなしでのファイルマッピング - ページ 2 123456789...12 新しいコメント Mykola Demko 2012.01.16 18:44 #11 アレックス、ファイルが不要になったとき、どうやってメモリを解放するの?つまり、ファイルがたくさんある可能性があるので、RAMを何メガ、何ギガとかき集める必要がないようにするんです。 --- 2012.01.16 18:45 #12 CloseHandleは役に立ちますか? Mykola Demko 2012.01.16 18:50 #13 sergeev: CloseHandleは役に立つのか?CloseHandleはClose()の内部で呼び出されますが、メモリを解放する わけではありません。これはRAMが占有されていることを意味します。void CMemMapFile::Close() { if(m_hmem!=NULL) CloseHandle(m_hmem); m_path=""; m_hmem=NULL; m_size=0; m_pos=0; m_mode=-1; // ハンドルを閉じる } Mykola Demko 2012.01.16 18:58 #14 メモリ解放を 保証するためには、ファイルサイズを0にした方がいいと思う。サイズを大きくするGrowsもあるし、割り当てられたメモリをゼロにしてファイルを削除するDeleteもある。 Andrey Dik 2012.01.16 19:00 #15 ありがとう。とても必要なことです。それと、おそらくオフトピックな質問なのですが、ファイルマッピングは、最適化時に標準の遺伝子の代わりに外部の遺伝子を使う(例えば、ターミナルで実行されるスクリプト)ように適応できるのでしょうか? Mykola Demko 2012.01.16 19:09 #16 joo:ありがとう。とても必要なことです。それと、おそらくオフトピックな質問なのですが、ファイルマッピングは、最適化時に標準の遺伝子の代わりに外部の遺伝子を使う(例えば、ターミナルで実行されるスクリプト)ように適応できるのでしょうか?半自動でない限り、いずれにせよ誰かがテスターを起動させ、停止させなければなりません(これはclaudを使おうとする場合です)。そしてclaudがなければテスターを使う意味がない。 --- 2012.01.16 19:18 #17 Urain:CloseHandleはClose()の内部で呼び出されますが、メモリを解放する わけではなく、(作成せずに)開き直すことで保存された情報を取り出すことができます。誰かがそれを書き換えるまで、そのハンドルはそこに残ると思います。 私はこのようなことがありました。書き込むアプリケーションはハンドルを閉じ、読むアプリケーションは閉じない。しかし、データを読むことはできる。しかし、ウィンドウズで何らかの操作をすると、ファイルのデータが変わってしまう。つまり、RAMが一杯になったということだ。 よくわかりません。 --- 2012.01.16 19:19 #18 joo:ファイルマッピングはおそらく、最適化時に標準の遺伝子の代わりに外部の遺伝子を使用する(例えば、ターミナルで実行するスクリプト)ように適応できるのではないでしょうか? 中間データを保存するためにファイルを使うのであれば、もちろん可能です。 主なことは、ある基準点でデータをディスクにリセットすることです。何かが起きると、情報は取り返しのつかないほど失われてしまうからです。 Mykola Demko 2012.01.16 19:21 #19 sergeev:誰かがそれを書き換えるまで、そのハンドルはそこに残っていると思います。 私はそのようなことがありました。書き込むアプリケーションはハンドルを閉じ、読むアプリケーションは閉じない。でもデータは読める。しかし、ウィンドウズで何らかの操作をすると、ファイルのデータが変わってしまう。 よくわからない。 保証された方法でチェックする必要があるのかもしれない。でも方法がわからない。 Andrey Dik 2012.01.16 19:23 #20 Urain:セミオートマでない限り、誰かがテスターを始動させ、止めなければならない(これはクラウドを使用する場合)。ZYとクラウドのないテスターを使う意味はない。そう、クラウドには問題がある......。ユーザーがチャート上でスクリプトを実行し、テスターで最適化を開始する(スクリプトはファイルマッピングを通して最適化されたExpert Advisorに必要な変数を「スリップ」し始める)という意味です。そして、どのように、いつ、どのような条件で最適化を停止するかはまた別の問題です(例えば、Expert Advisor が「ready」フラグを受け取り、Expert Advisor のスタッフィングが動作を停止した場合、テスターはアイドルモードで残りの実行を行います。)このようになります。 123456789...12 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
アレックス、ファイルが不要になったとき、どうやってメモリを解放するの?
つまり、ファイルがたくさんある可能性があるので、RAMを何メガ、何ギガとかき集める必要がないようにするんです。
CloseHandleは役に立つのか?
CloseHandleはClose()の内部で呼び出されますが、メモリを解放する わけではありません。
これはRAMが占有されていることを意味します。
メモリ解放を 保証するためには、ファイルサイズを0にした方がいいと思う。
サイズを大きくするGrowsもあるし、割り当てられたメモリをゼロにしてファイルを削除するDeleteもある。
ありがとう。とても必要なことです。
それと、おそらくオフトピックな質問なのですが、ファイルマッピングは、最適化時に標準の遺伝子の代わりに外部の遺伝子を使う(例えば、ターミナルで実行されるスクリプト)ように適応できるのでしょうか?
ありがとう。とても必要なことです。
それと、おそらくオフトピックな質問なのですが、ファイルマッピングは、最適化時に標準の遺伝子の代わりに外部の遺伝子を使う(例えば、ターミナルで実行されるスクリプト)ように適応できるのでしょうか?
半自動でない限り、いずれにせよ誰かがテスターを起動させ、停止させなければなりません(これはclaudを使おうとする場合です)。
そしてclaudがなければテスターを使う意味がない。
CloseHandleはClose()の内部で呼び出されますが、メモリを解放する わけではなく、(作成せずに)開き直すことで保存された情報を取り出すことができます。
誰かがそれを書き換えるまで、そのハンドルはそこに残ると思います。 私はこのようなことがありました。書き込むアプリケーションはハンドルを閉じ、読むアプリケーションは閉じない。しかし、データを読むことはできる。しかし、ウィンドウズで何らかの操作をすると、ファイルのデータが変わってしまう。
つまり、RAMが一杯になったということだ。
joo:
ファイルマッピングはおそらく、最適化時に標準の遺伝子の代わりに外部の遺伝子を使用する(例えば、ターミナルで実行するスクリプト)ように適応できるのではないでしょうか?
誰かがそれを書き換えるまで、そのハンドルはそこに残っていると思います。 私はそのようなことがありました。書き込むアプリケーションはハンドルを閉じ、読むアプリケーションは閉じない。でもデータは読める。しかし、ウィンドウズで何らかの操作をすると、ファイルのデータが変わってしまう。
よくわからない。セミオートマでない限り、誰かがテスターを始動させ、止めなければならない(これはクラウドを使用する場合)。
ZYとクラウドのないテスターを使う意味はない。
そう、クラウドには問題がある......。
ユーザーがチャート上でスクリプトを実行し、テスターで最適化を開始する(スクリプトはファイルマッピングを通して最適化されたExpert Advisorに必要な変数を「スリップ」し始める)という意味です。そして、どのように、いつ、どのような条件で最適化を停止するかはまた別の問題です(例えば、Expert Advisor が「ready」フラグを受け取り、Expert Advisor のスタッフィングが動作を停止した場合、テスターはアイドルモードで残りの実行を行います。)
このようになります。