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

 
fxsaber:

たくさんの応募がありました。ログファイルをご覧ください。

"たくさんの応募 "とは、強い言葉ですね...。ほとんどのエントリーがないんです。しかし、問題は、ログファイルへの出力を妨げているものは一体何なのかということです。

例えば、あまり洗練されていないEAとか。

void OnTick ()
{
  Print (TimeCurrent());
}

Real ticks "モードでは、このようなログが表示されます。

2017.09.05 09:38:56.994 テスター EURUSD:履歴データは2014.07.29 00:00より開始
2017.09.05 09:38:56.996 テスター EURUSD:ヒストリーティックの予備ダウンロード開始、かなり時間がかかる可能性あり
2017.09.05 09:38:58.001 テスター EURUSD: ヒストリーティックの予備ダウンロード完了、35.52 Kb in 0:01.030 (34.48 Kb/sec)
2017.09.05 09:38:58.001 テスター EURUSD: 2017.06.01 00:00 からティックデータを開始します。
2017.09.05 09:38:58.002 Core 1 エージェントプロセス開始
2017.09.05 09:38:58.346 Core 1から127.0.0.1:3000に接続中。
2017.09.05 09:38:58.347 コア1が接続されました。
2017.09.05 09:38:58.350 コア1認証済み(エージェントビルド1653)
2017.09.05 09:38:58.352 Tester EURUSD,M15 (MetaQuotes-Demo): expertsTest.ex5 のテスト 2017.08.30 00:00 から 2017.08.31 00:00 までの間
2017.09.05 09:38:58.404 Core 1 共通の同期が完了しました。
2017.09.05 09:38:58.455 Core 1 EURUSD: ティック同期済み [43 bytes].
2017.09.05 09:39:04.609 コア1 2017.08.30 00:36:55 2017.08.30 00:36:55
2017.09.05 09:39:10.760 コア1 2017.08.30 00:48:27 2017.08.30 00:48:27
2017.09.05 09:39:16.866 コア1 2017.08.30 01:02:20 2017.08.30 01:02:20
2017.09.05 09:39:22.976 コア1 2017.08.30 01:24:08 2017.08.30 01:24:08
2017.09.05 09:39:27.668 Core1が切断されました。
2017.09.05 09:39:27.668 Core 1 接続を終了しました。
2017.09.05 09:39:27.681 テスターはユーザーによって停止されました。

とはいえ、数十分単位でスキップが見られるように、テスターは恐ろしく遅いのですが......。

VPS上のマシン。

 
Andrey Dik:

"たくさんの記録 "とは、とても強い言葉ですね...。ほとんどのエントリーは、単にないだけです。しかし、問題は、一体何がロギングを妨げているのか、ということです。

ログファイルを見てください。

例えば、あまり洗練されていないEAとか。

を「Real ticks」モードで使用すると、このようなログが出力されます。

2017.09.05 09:38:56.994 テスター EURUSD:履歴データは2014.07.29 00:00より開始
2017.09.05 09:38:56.996 テスター EURUSD:ヒストリーティックの予備ダウンロード開始、かなり時間がかかる可能性あり
2017.09.05 09:38:58.001 テスター EURUSD: ヒストリーティックの予備ダウンロード完了、35.52 Kb in 0:01.030 (34.48 Kb/sec)
2017.09.05 09:38:58.001 テスター EURUSD: 2017.06.01 00:00 からティックデータを開始します。
2017.09.05 09:38:58.002 Core 1 エージェントプロセス開始
2017.09.05 09:38:58.346 Core 1から127.0.0.1:3000に接続中。
2017.09.05 09:38:58.347 コア1が接続されました。
2017.09.05 09:38:58.350 コア1認証済み(エージェントビルド1653)
2017.09.05 09:38:58.352 Tester EURUSD,M15 (MetaQuotes-Demo): expertsTest.ex5 のテスト 2017.08.30 00:00 から 2017.08.31 00:00 までの間
2017.09.05 09:38:58.404 Core 1 共通の同期が完了しました。
2017.09.05 09:38:58.455 Core 1 EURUSD: ティック同期済み [43 bytes].
2017.09.05 09:39:04.609 コア1 2017.08.30 00:36:55 2017.08.30 00:36:55
2017.09.05 09:39:10.760 コア1 2017.08.30 00:48:27 2017.08.30 00:48:27
2017.09.05 09:39:16.866 コア1 2017.08.30 01:02:20 2017.08.30 01:02:20
2017.09.05 09:39:22.976 コア1 2017.08.30 01:24:08 2017.08.30 01:24:08
2017.09.05 09:39:27.668 Core1が切断されました。
2017.09.05 09:39:27.668 Core 1 接続を終了しました。
2017.09.05 09:39:27.681 テスターはユーザーによって停止されました。

が、テスターは数十分単位でスキップが見られるように、ひどくスローダウンしています...。

まあ、何千ものログエントリーがあるので、遅くなるのは仕方ないですね。

 
Andrey Dik:

"たくさんの記録 "とは、とても強い言葉ですね...。ほとんどのエントリーは、単にないだけです。しかし、問題は、具体的に何がログへの出力を妨げているのか、ということです。

例えば、あまり複雑でないEAとか。

Real ticks "モードでは、これらのログを表示します。


が、テスターは数十分単位でスキップが見られるように、恐ろしく遅い...。

VPS上のマシン。

スキップは膨大な数のレコードで構成され、ログは不要なときにその半分をカットするため、処理が遅くなる

 
fxsaber:

ログファイルをご覧ください。

何千ものログがあるから遅いんだ

ヴィタリー・ムジチェンコ

スキップは膨大な数のエントリーの中から、ログが不必要に半分を切り刻むためで、これも遅くなっています。

お二人とも、おっしゃるようなことは試されましたか?

他のマシンでは、ログプリントはすべてのtickで 出力されるはずで、ラグもないのですが、この特定のマシンでは、すべてのログが出力されず、大きなスキップやラグが発生しています。

テスターのアマチュアリズムには時々驚かされますが、ユーザーの選択に応じてカスタムログ出力(エラー、印刷など)ができないのでしょうか?もし、ログを全部出力することに問題があって、テスターがそれをカットしたのなら、なぜ、「聞いてください、ログを全部出力できないんです、何回かに一回だけ、その理由は・・・・・・」みたいに言わないんですか?

では、スキップでログへの出力が不完全に なる理由は何でしょうか(カットではなく、すなわちスキップの場合)。

 
Andrey Dik:

お二人とも、おっしゃるようなことは試されましたか?

他のマシンでは、ログプリントはすべてのティックに 印刷され、ブレーキもないはずですが、このマシンではすべてではありません。

ただ試すだけでなく、プログラムにないバグを探し始めたのです。ただ、ログをたくさん印刷していたために、スキップが発生していたことが判明したのです。

 
Vitaly Muzichenko:

ただ試すだけでなく、プログラムにないバグを探し始めたのです。ただ、ログを大量に印刷するため、抜けがあったことが判明したのです。

いや、Vitaly、前の記事で私は終了しました。もう一台のマシンでは、ログが本来のようにすべてのティックで スキップせずに印刷されます。
 
Andrey Dik:
いや、Vitalyさん、前の記事で終わらせましたよ。もう一台のマシンでは、ログが本来のようにすべてのティックで スキップせずに出力されています。

まあ、OSが違うのかもしれませんが、私はwin7 x64です。

 
Vitaly Muzichenko:

OSが違うのか、私はwin7 x64 です。

問題のマシンServer 2008では、ディスクとRAMに空きメモリがあります。

Win10 64とWin7 64では、ログがスキップされることなく、完全に表示されます。EAを "ticks "または "real ticks "モードで1日だけ動かしてみてください。 これはテスター特有のバグで、もしログを完全に出力できないなら、その旨と理由をユーザーに知らせなければなりません、ログは完全でなければ意味がありません。隙間のあるログは全く必要ない、プログラムのデバッグはどうすればいいのか?

 
Andrey Dik:

お二人とも、おっしゃるようなことを試されましたか?

もう一台の機械では、印刷は当然のようにすべてのティックに 記録され、ブレーキもないのですが、この機械ではすべてのログが記録されず、大きなスキップやブレーキが発生しています。

テスターのアマチュアリズムには時々驚かされるのですが、ユーザーの選択に応じてカスタムログ出力(エラー、印刷など)ができないのでしょうか?ログを全部出力することに問題があり、テスターがそれをカットした場合、なぜ「聞いてください、ログを全部出力できません、何回かに一度だけ、その理由は・・・・・・」みたいなことを言わないのでしょうか?

では、ログ出力が不完全(トリミングではなく、スキップ)になってしまう原因は何でしょうか?

テスターのログとは別に、テスターエージェントのログもあります。確かに全部ある
 
Slava:
テスターのログの他に、テスターエージェントのログもあります。そこに行けば、何でも揃う。


そうなんです、あるんです、ここに。

2017.09.05
2017.09.05 11:42:04:04 ロガーのログをクリーニングしました。
2017.09.05 2017.09.05 00:00:00.000 サーバー MetaTester 5 を停止しました。

他にないんですよ。

では、なぜテスターのログにはPrint()関数に関する 完全な情報がないのでしょうか?