テスターレポートを Open XML 形式で保存しようとしました。Pentium 4、3.0GHz)、アプリケーションは応答せず、タスクマネージャのterminal.exeプロセスが暴れて(CPUの約50%)RAM(約250Mb)を食いつぶしていた、結果 - 何もなし。MT5は応答するだけで、相場は入ってきません(灰色の回転する円が付いた接続状況インジケータ)。2回目も同じです。ツール」ウィンドウには、「MemoryException 107878464 bytes not available」というジャーナルエントリーが2つあり、これはOpenXMLでレポートを受信しようとした時間に対応します。 ほぼ瞬時にHTMLファイルが生成されました(約12Mb)。開くのに時間がかかるが、MT5のせいではない...。
さて、MT4とは異なり、ピリオドは1期間の秒数を意味するものではありません。
MT4 dearでも秒数が表示されることはなかった...。しかし、MT4の分足ははっきりと表示されました。H1チャートの_Periodは何を示しているのですか?私には重大なバグのように思える。
よく読んでください、私が書いたのは_Periodのことで、PeriodSecondsのことではありません。そして、あなたの認識ミスでページを詰まらせないでください。
つまり、H1 = 16385 はナンセンスではなく、ENUM_TIMEFRAMES の H1 の数値表現である。
Period-uのヘルプを読む
期間
現在のチャートのタイムフレーム値を返します。
ENUM_TIMEFRAMESPeriod()。
戻り値
現在のチャートのタイムフレーム値を保持する_Period 変数の内容。Value には ENUM_TIMEFRAMES の列挙値のいずれ かを指定することができる。
追記
したがって、(MT4でそうであったように)期間に対応する分数ではなく、列挙型 ENUM_TIMEFRAMESの要素 (または必要であればその数値表現)を返します ...。
すでに修正済みです。一般的なポイントは、 PeriodSeconds を使って、ピリオド内の正確な秒数を取得し、それを使って好きなことをすることです...。
つまり、H1 = 16385 はナンセンスではなく、ENUM_TIMEFRAMES の H1 を数値で表現しているのです。
では、H1で_Periodをリクエストして、ENUM_TIMEFRAMES= 16385と出た場合、そこからどうやって分を取得すればいいのでしょうか?
もちろん、PeriodSeconds()/60を割っても何の意味もありませんが。しかし、これらの識別子はどのようなもので、どのように扱えばよいのでしょうか。
では、H1で_Periodをリクエストして、ENUM_TIMEFRAMES= 16385と出た場合、そこからどうやって分を取得すればいいのでしょうか?
11ヶ月前からマイグレーションライブラリでこの機能を使用していますが、今のところ問題なく動作しています
ANG3110 です。
もちろん、PeriodSeconds()/60で割る必要がありますが。それにしても、これらがどのような識別子で、どのように扱えばいいのでしょうか。
この質問は、OOPの基本に言及することができます。識別子と列挙子に関するものである。詳しくは、リファレンスやC++プログラミングの良書を参照してください。
これはMQL4ですでに実装されていますが、あまり目立ちません。
各識別子(MQL5で書かれたものであれ、ユーザーが作成したものであれ)は、独自の「数値表現」を持つことができます。
簡単に言うと(できる限り説明しています)・・・。
DLLなど外部環境との互換性のためと思われるかもしれませんが、(MQLとその識別子について全く知らない)別のものです。
したがって、MQL5プログラム内でピリオドを扱う必要がある場合、ENUM_TIMEFRAMES 列挙の識別子PERIOD_H 1を使用するのが妥当であろう。
しかし、外部環境(例えばDLL)にピリオドH1を使用していることを伝える必要がある場合、この識別子を数値で表現する方が簡単です(この場合、16385 です)。
では、H1で_Periodをリクエストして、ENUM_TIMEFRAMES= 16385と出た場合、そこからどうやって分を取得すればいいのでしょうか?
もちろん、PeriodSeconds()/60を割っても何の意味もありませんが。しかし、これらの識別子は何であり、どのように扱えばよいのでしょうか。
このように
11ヶ月前からマイグレーションライブラリでこの機能を使用しているが、今のところ問題ない
このように
デベロッパー
1.ある条件下でOHLCストリングがウインクするようになった。シングルコアのコンピュータでEAをテスト したときに明らかになったこと(CPUはおそらくオーバーロード)...。
2.Delphiで行われているように、クラスとその機能のリスト(詰め物)をナビゲータに配置することは可能でしょうか(モジュールの手続きと機能のリストを扱うのはあまり便利ではないので)。
テスターレポートを Open XML 形式で保存しようとしました。Pentium 4、3.0GHz)、アプリケーションは応答せず、タスクマネージャのterminal.exeプロセスが暴れて(CPUの約50%)RAM(約250Mb)を食いつぶしていた、結果 - 何もなし。MT5は応答するだけで、相場は入ってきません(灰色の回転する円が付いた接続状況インジケータ)。2回目も同じです。ツール」ウィンドウには、「MemoryException 107878464 bytes not available」というジャーナルエントリーが2つあり、これはOpenXMLでレポートを受信しようとした時間に対応します。
ほぼ瞬時にHTMLファイルが生成されました(約12Mb)。開くのに時間がかかるが、MT5のせいではない...。