ジャーナルから「エラー」情報を取得するには? - ページ 2

 
GumRai


私はすでに数回前の記事で例を挙げましたが、あなたはそれを否定しました。

エラーが発生したときのprint()に、簡単に識別できる文字列が含まれていることを確認します。

そして、ログファイルを開いたときに、edit/findでその文字列を探せば、同時にエラーレポートも見つけることができます。


GumRai です。
ログファイルを整理するために多くのエントリーがあることがわかっている場合、print()に「xyz」のようなものを入れて、Edit/Findでprint文の場所を特定するのも一案かもしれません。

問題は、私がエラーを見つけられないことではなく、10,000以上のジャーナルエントリーがあるという事実なのです。+ エラーは、エラーコード 1、エラーコード2のようなものを表示します。どのように私はテキストの識別子と任意のフォームでそれらを関連付けると思いますか?解決策は、私が今まで2回言ったように、エラーが発生したかどうかをチェックし、ジャーナルにそれを印刷する何らかのコード、またはより良い、複数のエラーが発生した場合は、その数をカウントすることでしょう。).

 
Proximus:

問題は、私がエラーを見ることができないことではなく、10,000以上のジャーナルエントリーがあるという事実なのです。+ エラーは、エラーコード1、エラーコード2のようなものを表示します。どのように私はテキストの識別子と任意のフォームでそれらを関連付けると思いますか?解決策は、私が今まで2回言ったように、エラーが発生したかどうかをチェックし、ジャーナルにそれを印刷する何らかのコード、またはより良い、複数のエラーが発生した場合は、その数をカウントすることでしょう。).


Edit/findを使用しているとき、どのように手動で検索しているのですか?

10,000のエントリーがあり、特定の文字列が3回だけ現れるとしたら、それらを見つけるためにマウスを3回クリックする必要があります。

もし、"error "という単語を含むエントリにのみ興味があるのであれば、"error "という単語を検索するためにfindを使用します。

 
GumRai:


Edit/findを使用しているとき、手動でどのように検索しているのですか?

10,000件のエントリーがあり、特定の文字列が3回だけ表示される場合、それらを見つけるにはマウスを3回クリックする必要があります。

エラー」という単語を含むエントリにのみ興味がある場合、「エラー」という単語を検索するために検索を使用します。

1) そうです、だから自動化する必要があるのです。MQ4はEA内でこれを行うことができる小さなコードを開発することができると確信しています。

2) それは重要ではありません。

3) エラーログが900個もあったらどうしますか?例えば、エラー番号1とエラー4056があったとして、エラー番号1はそれほど悪いエラーではありませんが、多くのエラー番号1の文字列の中に隠されているので、異なるタイプのエラーをグループ化したい場合はどうすればよいでしょうか。

私の新しいリクエストは、ジャーナルから異なるタイプのエラーをカウントする方法ですか?

例:エラー番号0.1×10個

エラー番号4056×200個

エラー番号4020×500個

このように、EAが特定のタイプのエラーを何個発生したかを表示するようにするにはどうしたらいいでしょうか?

 
Proximus:

1) そうです、だから自動化する必要があるのです。MQ4ではEA内でこれを実行するちょっとしたコードを開発することができます。

2) それは重要ではありません。

3) エラーログが900個もあったらどうしますか?例えば、エラー番号1とエラー4056があったとして、エラー番号1はそれほど悪いエラーではありませんが、多くのエラー番号1の文字列の中に隠されているので、異なるタイプのエラーをグループ化したい場合はどうすればいいでしょうか。

つまり、私の新しいリクエストは、ジャーナルから異なるタイプやエラーをカウントする方法ですか?

例:エラー番号0.1×10個

エラー番号4056×200個

エラー番号4020×500個

このように、EAが特定のタイプのエラーを何個発生したかを表示するようにするにはどうしたらいいでしょうか?

もしエラーが1つなら、それを修正する ... もしエラーがたくさんあるなら、それらをすべて修正する ... もしログに2000ものエラーがあるなら、深刻な問題を抱えていることになります、検索に行く必要はありません、あなたが持っているエラーを修正してください。
 
RaptorUK:
もしエラーが1つなら、それを修正する ... もしエラーがたくさんあるなら、それらをすべて修正する ... もしログに2000ものエラーがあるなら、深刻な問題を抱えていることになります、検索に行く必要はありません、あなたが持っているエラーを修正してください。

そう、結局のところそれがポイントなのですが、ログに2000件の取引があると、常に注文の変更/クローズ/オープンのデータでいっぱいになり、ほとんどエラーメッセージを見ることができないことを知っています。
 
Proximus:
しかし、2000件もの取引履歴があると、注文の変更、クローズ、オープンのデータでいっぱいになり、その無駄なスパムの間にエラーメッセージを見ることはほとんどできません。ですから、1件でもエラーが発生したら知らせてくれる、何らかのエラーキャッチャーコードを開発する必要があります。

いいえ、ただPrint("MyEANameError: ", Error, ... ... ) それからMyEANameErrorを 検索すれば、あなたの全てのエラーを見つけることができます ...... 。
 

ProximusはRaptorを理解できていないようです。

こんなテストコードを書いてみました。

 for(int line=1;line<=10000;line++)
      {
      if(line==5000)
         {
         Print("HeeHee, I'm line number 5,000 - you'll never find me!");
         continue;
         }
      Print("This is line ",line);
      }

というわけで、1万行のPrint()があるログができました。

Edit/Findを使っても、HeeHeeは他の行には出てきません。

で、単にfind nextをクリックすると、1ミリ秒後に

デフォルトのメモ帳を使うだけなので簡単です

 
あなたは本当に私を理解していない男
Proximus:

1) そうです、だから自動化する必要があるのです。MQ4ではEA内でこれを実行するちょっとしたコードを開発することができます。

2) それは重要ではありません。

3) エラーログが900個もあったらどうしますか?例えば、エラー番号1とエラー4056があったとして、エラー番号1はそれほど悪いエラーではありませんが、多くのエラー番号1の文字列の中に隠されているので、異なるタイプのエラーをグループ化したい場合はどうすればいいでしょうか。

私の新しいリクエストは、ジャーナルから異なるタイプのエラーをカウントする方法ですか?

例:エラー番号0.1×10個

エラー番号4056×200個

エラー番号4020×500個

このように、EAが特定のタイプのエラーを何個発生したかを表示するようにするにはどうしたらいいでしょうか?

私の回答をお読みください。つまり、アイデアは、エラーの異なるタイプをキャッチし、および/またはそれらを数えることです。私はそれがnotepad.I想像で検索するよりもタイプごとにエラーをカウントする方が簡単ですので、それが存在する数と種類を知りたい10エラーと10異なる行間に隠れている状況または数百またはエラーがある、それぞれが異なっている場合、私はエラー番号4025とすることを検索できますどうやってエラー番号4000もあることを知るのだろう?すべてのエラーコードを検索するつもりはない。だから、タイプ別にグループ化されたすべてのエラーをカウントし、それを時々プリントアウトするカウントマシーンがあれば簡単ではないだろうか。

+私は通常、5000-7000トレード以上のバックテストを行い、orderopenに1ライン、trailstops ordermodifyに3-4ライン、ordercloseに1ライン =thats 6 lines /trade * 7000 trades =thats ~42000 lines or mode and I`m sure the MT4 journal doesn't keep that many in it :).

そうそう数え方の方が効果的なんですよねー。

RaptorUK です。
いや、Print("MyEANameError: ", Error, ... ... )でMyEANameErrorを 検索すれば、すべてのエラーを見つけることができるんだ ......

これは解決策ではありません、変数 "Error "には何が入っていますか? また、どのように エラーが発生したかどうかをテストするのですか?また、可能であれば、どのようにエラーの種類を区別するのでしょうか?明らかにコードで。
 

当たり前のことを申し上げているのでなければいいのですが、もしそうであれば申し訳ありません。

MTジャーナルは、1日1ファイル、最新のファイルの最後の数行がGUIに表示されるだけのファイルです。

ファイル(バックテスト用)はMetaTraderインストールフォルダ/tester/logsに 保存されています。

あなたは、あなたが利用できる任意のツールを使用して、それを介して検索することができます - 例えば、ファイルを抽出するDOSコマンドFindstr...

cd MetaTrader Folder/tester/logs

Findstr some_text *.log

Findstr some_text *.log > small_log.txt


私が明白なことを述べていて、あなたが実際に何か他のものを求めているなら、もう一度、謝罪します!?

 
ydrol:

繰り返しになりますが、もし私が明白なことを述べていて、あなたが実際に何か他のものを求めているのであれば、申し訳ありません。


謝罪の必要はありませんが、私は、OPがエラーを 見つけたり修正 したりすることに興味があるのではなく、むしろその統計に興味があるのだと理解しました。