テスター レポートを Open XML 形式で保存しようとしました。数分間待機(Pentium 4, 3.0GHz)、アプリケーションは応答せず、タスクマネージャにはterminal.exeプロセス(CPUの約50%)が動作メモリ(約250MB)を食っていると表示、結果 - 何もなし。MT5は応答するだけで、相場は入ってきません(灰色の回転する円が付いた接続状況インジケータ)。2回目も同じです。ツール」ウィンドウには、「MemoryException 107878464 bytes not available」というジャーナルエントリーが2つあり、これはOpenXMLでレポートを受信しようとした時間に対応します。 ほぼ瞬時にHTMLファイルが生成されました(約12Mb)。開くのに時間がかかるが、MT5のせいではない...。
いや、いつもの(多通貨)選手権参加者の一人のテストチェイス、関係するペアの長い履歴のスワップ、それだけだ。
ところで、テスターはどのようにペアを入れ替えるべきかを判断しているのでしょうか? 一般的には、テストを始めてみないと事前にはわからないのですが......。
私の知る限り、最初にスワップされるペアはテスト中のペアです(テスターのパラメータで指定され、自動的にその「マーケットウォッチ」に追加されます)。
その他のペアは、異なる条件によって入れ替わります。個人的には、初期化ブロックで(テスターの「マーケットレビュー 」に記入して)選択し、データの同期を確認するのが一番正しい方法だと思います(テスターに限らず有用です)。
また、テスターが端末と同期し、端末がサーバーと同期することも注目すべき点です...。
追記
私の理解が正しければ、テスターはまだ自分でデータをロードすることができますが、実際の条件ではすべて自分で行わなければなりません。
確認済み。
MAによる最も簡単なExp。初期化後、そのまま切断。でも、不安定でたまにしかない。
最新のビルド(355)では、テスターでOnTickの代わりにOnTimerを使用すると、まさにこのような現象が起こります。
もしかしたら、MQL5によって、チャートからインジケータを削除する機能が登場するかもしれませんね。
テスター レポートを Open XML 形式で保存しようとしました。数分間待機(Pentium 4, 3.0GHz)、アプリケーションは応答せず、タスクマネージャにはterminal.exeプロセス(CPUの約50%)が動作メモリ(約250MB)を食っていると表示、結果 - 何もなし。MT5は応答するだけで、相場は入ってきません(灰色の回転する円が付いた接続状況インジケータ)。2回目も同じです。ツール」ウィンドウには、「MemoryException 107878464 bytes not available」というジャーナルエントリーが2つあり、これはOpenXMLでレポートを受信しようとした時間に対応します。
ほぼ瞬時にHTMLファイルが生成されました(約12Mb)。開くのに時間がかかるが、MT5のせいではない...。
コンパイラは、変数がどこにも使われていない場合、警告を出しますが、それでいいんです。
しかし、クラス内のそのようなゴミ(未使用の変数)を見ることはありません。
バージョン5ビルド355
バー間の時間差を計算する。
datetime DefTime。
文字列 PrintDate;
DefTime=Time[0]-Time[i]; //iは0以上の任意の整数で置き換えることができる ...
PrintDate=TimeToString(DefTime,TIME_DATE|TIME_MINUTES);
プリント(PrintDate)。
ここにあります。
!!!2010.11.22 02:09:24 A-PS (EURUSD,M15) 1970.01.03 04:00
!!!2010.11.22 02:09:22 A-PS (EURUSD,M15) 1970.01.03 04:45 !
!!!2010.11.22 02:09:20 A-PS (EURUSD,M15) 1970.01.03 04:30 !
!!!2010.11.22 02:09:19 A-PS (EURUSD,M15) 1970.01.03 03:15 !
!!!2010.11.22 02:09:18 A-PS (EURUSD,M15) 1970.01.03 03:00 !
!!!2010.11.22 02:09:17 A-PS (EURUSD,M15) 1970.01.03 02:45 !
!!!2010.11.22 02:09:16 A-PS (EURUSD,M15) 1970.01.03 02:30 !
!!!2010.11.22 02:09:14 A-PS (EURUSD,M15) 1970.01.03 02:15 !
2010.11.22 02:09:13 A-PS (EURUSD,M15) 1970.01.01 02:00
2010.11.22 02:09:12 A-PS (EURUSD,M15) 1970.01.01 01:45
2010.11.22 02:09:11 A-PS (EURUSD,M15) 1970.01.01:30
2010.11.22 02:09:11 A-PS (EURUSD,M15) 1970.01.01:15
2010.11.22 02:09:09 A-PS (EURUSD,M15) 1970.01.01:00
2010.11.22 02:09:08 A-PS (EURUSD,M15) 1970.01.01 00:45
2010.11.22 02:09:08 A-PS (EURUSD,M15) 1970.01.01 00:30
2010.11.22 02:09:07 A-PS (EURUSD,M15) 1970.01.01 00:15
2010.11.22 02:08:58 A-PS (EURUSD,M15) 1970.01.01 00:00
3番目の数字はどこから来ているのですか?MqlDateTimeを 使用した場合も同様の状況です。
3番目の数字はどこから来ているのですか?MqlDateTimeを 使用した場合も同じような図になります。
その通り、バー間の時間差(秒)を標準の日付として表示するのですね。
月曜日と金曜日のバーの差は、ちょうど3日です。
私は最適化アドバイザーの間に作るために、指標を接続するかどうかを選択する(例えばTRIX)TRIX = 0の場合 - その指標は使用されません、TRIX = 1以上、指標は値に使用されている番号を含む - これは、指標のパラメータです。
しかし、問題は、多くの指標は、複数のパラメータを持っているということです - しかし、TRIX = 0、TRIX_2 = 4例えば、最適化時に設定した場合、パラメータは、私はこの方法を解決し、この問題は矛盾します:エキスパートアドバイザーでTRIX_1とTRIX_2可能の値を通過しています。すなわち、EAではTRIX=0はTRIX_1=0、TRIX_2=0、TRIX=1はTRIX_1=1、TRIX_2=1、TRIX=2はTRIX_1=1、TRIX_2=2、など。 しかし疑問が生じる。
EA自体に全てのインジケータパラメータが既に列挙されており、パラメータのバリエーションを格納するTRIXという値が1つだけ入力されていた場合、 遺伝的アルゴリズムは テスターで正しく 動作するでしょうか?