エラー、バグ、質問 - ページ 505

 
sergey1294:
同じ関数が0を返します。SERIES_TERMINAL_FIRSTDATEも試して みました。結論から 言うと、SeriesInfoInteger 関数は テスターでは 動作しない。テストが実行されている機器に対してのみ機能します。All history "区間を選択したときに、履歴の開始日が異なる機器に対してテストを実行する方法について、何かアイディアがあるかもしれませんね。

あなたの結論を確認することにしました。Alpari-DemoでテストExpert Advisorを実行し、テスターでも2000年以降のビジュアライゼーションモードで同じものを実行しました。initの実行結果は添付の通りです。

テストした期間の履歴がサーバにある場合、 SeriesInfoInteger()は、 デモにあったのと同じデータをテスターで返す テストの時点で履歴がない場合(EURAUDでは2004.06.16から)、テスターはエラーを返します: 2011.09.05 09:40:53 EURAUD: contains 0 M1 records.

そのため、 SeriesInfoInteger()は、 サーバーに対応する履歴があり、テスターがそれを読み込むことができれば、テスターではまだ動作 します。もし、"empty "履歴にヒットすると、プログレスバーは動いているものの、テストは単にハングアップしてしまいます。

ファイル:
 
Valmars:

あなたの結論を確認することにしました。Alpari-DemoでテストExpert Advisorを実行し、テスターでも2000年以降のビジュアライゼーションモードで同じものを実行しました。initの実行結果は添付の通りです。

テストした期間の履歴がサーバにある場合、 SeriesInfoInteger()は、 デモにあったのと同じデータをテスターで返します テスト開始日の時点で履歴がない場合(EURAUDでは2004.06.16から)、テスターは次のエラーを返します: 2011.09.05 09:40:53 EURAUD: contains 0 M1 records.

つまり、 SeriesInfoInteger()は、 サーバーに適切な履歴があり、テスターがそれを読み込むことができれば、テスターでもまだ機能 します。履歴が「空」の場合、プログレスバーは動いていますが、テストは単にハングします。

テスターでゼロを返すのがおかしいのですが、何が間違っているのでしょうか?
 
sergey1294:
不思議なことに、テスターでゼロが返されました。

そして、テスト間隔を「全履歴」ではなく、「昨年」など、全文字の履歴が保証されるように設定します。その場合、ゼロではなく、テスターがアップロードした履歴の先頭が表示されるはずです。2010年4月1日から取得しました。

追伸:しかし、実際に不思議なことに、テスターが2004gで既存の履歴をダウンロードした場合。それは、このシンボルの歴史2004年の開始の日付と与える必要があります、としないゼロ、たとえテストの開始日以前の既存の歴史よりも。これはバグだと思うんです。

 
MT5ターミナルの時刻がGMT+1からGMT+0に突然変更されたこと以外に、私は間違いを発見しました。1時間経過したばかりのローソクの終了後、以前のローソクの出来高の値が大幅に変更されているのです。今日のローソク足は、0:00 1841 - 2269, 1:00 2556 - 3235, 2:00 2436 - 2975, 3:00 1700 - 3096, 4:00 1391 - 1690と、セッション開始から全て連続して保存しました。 これはMT5の不正確さです。
 
Arkadiy:
MT5ターミナルの時刻がGMT+1からGMT+0に突然変更されたこと以外に、私は間違いを発見しました。1時間経過したばかりのローソク足が終了した後、以前のローソク足のボリューム値が大幅に変更されているのです。私は今日のキャンドルについて確実に言うことができます - 私はセッションの最初からそれらをすべて連続して保存しました:0:00 1841 - 2269、1:00 2556 - 3235、2:00 2436 - 2975、3:00 1700 - 3096、4:00 1391 - 1690、端末時間は "間違った"。 それはMT5の不正確さである。
言い忘れました-EURUSDペア
 
Valmars:

そして、テスト間隔を「全履歴」ではなく、「昨年」など、全文字の履歴が保証されるように設定するのです。すると、ゼロではなく、テスターがアップロードした履歴の先頭が表示されるはずです。2010.1.4から入手しました。

追伸:しかし、実際に不思議なのは、テスターが2004年から既存の履歴をダウンロードした場合です。であれば、このシンボルの履歴の開始日を2004年とし、既存の履歴より前の開始日であってもゼロを発行しないようにすべきです。これはバグだと思うんです。

昨年を設定しようとしたが、同じだった。すべてのシンボルの全履歴でEAを実行する必要があります。
 

ロットを正規化する際に発見。自分のものを確認する

Print(NormalizeDouble(0.07,2))。

予想に反して、プリント:0.0700000000000000001

 
SoundChip:

ロットを正規化する際に発見。自分で確認する

Print(NormalizeDouble(0.07,2))。

予想に反して、0.070000000000001と表示されました。

https://www.mql5.com/ru/forum/4033
 
了解です、ありがとうございます。
 

3回目の質問をしてみる)MetaDriverは ここで その例を示しました。そこで、私が例に挙げたのが

取引回数が3000回を超え始めると、チャートは縮小します。この問題は、開発者が考えているのでしょうか?

この問題は、取引量が10000件以上となるような大きな履歴データでシステムをテストする場合、端末で取引結果を一度に分析することができません。

Excelでも似たようなことがあったような気がします。しかし、プログラムは複雑な計算式で過負荷になり、行数が5000行を超えると単純にハングアップしてしまう。ここで何が問題なのでしょうか?