MT4で取引を開始し、すぐにまた閉じる場合の問題点 - ページ 5 123456 新しいコメント zzuegg 2010.09.11 12:25 #41 7bit: どのEAが原因かはまだ分かっていません。 これまで見てきたのは、症状といくつかの理論だけです。これ以上の結論を出すには、experts/logs フォルダにある4 つのターミナルすべての ログを同じ時間帯で見る必要があります。これらのログは、私の理論を支持することも否定することもできますし、誰がクローズ注文を送信しているのかを示してくれます。 彼はそれぞれのEAを別の口座/端末で動かしていると思ったのですが? //スレッドを読み直したところ、彼は4つのターミナルで30個のEAを動かしていることがわかりました...。 //z. bernd 2010.09.11 12:34 #42 zzuegg:それぞれのEAを別のアカウント/端末で動かしているのでは?端末の数だけログが必要です。彼は4つの端末で、それぞれいくつかのEAを動かしていると言っていたように記憶しています。しかし、それは本当に多くの問題ではありません、最も重要な のは、同時にすべての 端末のログを見ることです。 端末1でEA1が開いたトレードを、端末2で動いているEA2が閉じることがあります。EA1はすぐにその取引を再開し、EA2はすぐにこの取引をまた閉じるということが無限に繰り返されます。 ターミナル1のエキスパートログはOPENに関するエントリで埋め尽くされ、ターミナル2のエキスパートログはCLOSEに関するエントリで埋め尽くされます。口座履歴では、EA1が取引を開始したため、すべての損失はEA1に起因し、EA2は完全に潜伏して、その名前は口座履歴に記載されません。EA2の名前は口座の履歴には残りません。 もし、問題のEAが最終的に見つかった場合、このような事態にならなかった 唯一のEA、常に正常に動作しているように見えた唯一のEA、最も疑われていないEAが有罪になることを約束します。 zzuegg 2010.09.11 12:56 #43 一度だけ、私のEAが同じような状態になったことがあります。 if(Close[1]<Open[1] && Close[2] < Open[2]){ //CLOSE ALL PROFITALBE BUYS } 幸運なことに、私は利益のあるトレードだけをクローズしました。 削除済み 2010.09.11 14:11 #44 この問題は2010年5月に初めて発生し、"Callibre "と呼ばれるEAに影響を与えました。 朝起きたら、口座に4000ドルの穴が開いていて、履歴タブの読み込みに時間がかかっていました。 ブローカーと話し、MT4サーバーログのダンプを入手しました(添付)。 また、取引を示すチャートも添付されています。 サーバーログは、オープニングとクロージングトレードが同じEAから来たことを相関しています。 当時は、問題はそのEAでしか起きないと考え、そのEAのせいにしました。 *** サーバーのトランザクションログのコメント欄から、同じEA(この例ではCallibre)がトレードを開始し、すぐにクローズしたことが分かります。 問題は4ヶ月間消え、私はそのEAが原因だと思いました。 ここ数週間、数ヶ月間正常に動作していた4つの異なるEAと、2つの異なるブローカーで、問題が再び現れました。 今週末、MT4をすべてアンインストールし、一からインストールし直そうと思います。また、Expertsフォルダをクリーンアップし、すべての最新コピーを実行していることを確認するつもりです。 他の提案もお願いします。 削除済み 2010.09.11 14:13 #45 bernd 2010.09.11 14:43 #46 peterc005: サーバーのトランザクションログのコメント欄から、同じEA(この例ではCallibre)が取引を開始し、すぐに閉じていることがわかります。 Peter:すでに説明したように、コメント欄は誰が取引を開いたかを示し、誰がそれを閉 じたかは示しません。これは誤解を招く恐れがあり、直感的に理解しにくいため、間違った場所で検索しているのです。コメント欄は、OrderSend()関数の8番目のパラメータで設定されます。これは、注文がオープン されたときです。この時点以降、コメント欄は固定され、それ以上変更することができなくなります。OrderClose() では、テキスト情報を指定することはできません。注文がどのように、あるいは誰によって閉じられるかにかかわらず、そのコメントは維持されるか、あるいはストップロス、テイクプロフィット、部分決済、マージンコールなどを示す [sl] や [tp] などの文字列が前置されることになります。 OrderClose()によって閉じられた注文は、元のコメントを保持 します。誰がOrderClose()を呼び出したかは、この時稼働していた全ての 端末のエキスパートログから探すしかありません。 端末を起動している各マシンのexperts/logs/ フォルダにある4つの端末の エキスパートログ(これはそれぞれの端末の「エキスパート」タブのログです)を添付して、誰が取引を終了したかを調べてください。キャリバーEAでは ありません。 削除済み 2010.09.11 15:01 #47 hi 7bitさん、近日中にログをアップロードします。 問題のあった日のログで気になったのは、このようなエラーが多いことです。 00:11:16 Memory handler: cannot allocate 160308896 bytes of memory(メモリハンドラ:160308896バイトのメモリを割り当てられません。 00:11:16 HistoryBase: not enough memory for 'EURGBP1' in AddTick() Googleで検索してみると、チャート内のバーが多すぎることが原因であることがわかります。私はより多くの履歴をダウンロードできるように、Max Bars パラメータを高く設定していましたが、その後この設定を減らしました。 これらのエラーがインジケータのシグナルを狂わせ、EAに問題を引き起こしているのではと思うのですが? 今、私のお気に入りの理論です。 bernd 2010.09.11 15:05 #48 peterc005: 00:11:16 Memory handler: 160308896 バイトのメモリーを割り当てることができません。 00:11:16 HistoryBase: AddTick() の 'EURGBP1' 用に十分なメモリがありません。 これは関連性があるとは思えません。また、OrderClose()の呼び出しを実際に行ったのが誰なのかもわかりません。 削除済み 2010.09.11 16:03 #49 7bit: これは関連性があるとは思えません。また、OrderClose()の呼び出しを実際に行ったのが誰なのかもわかりません。 やはり、メモリリソース不足でインジケータが狂い、トレードのオープンとクローズが発生したのではないでしょうか。もしそうだとしたら、それを証明するのは非常に難しいでしょう。 削除済み 2010.09.13 11:30 #50 以下は、何が起こっているかの一例である2つのLogsフォルダからの抜粋です。 このEAはFAP Turbo LT.で、何年も使っていますが、いつもうまく動作しています。 Logsフォルダには、MT4が行うOpenとCloseの動作が表示されており、この場合、取引番号は2662451です。 不思議なのは、Expertsログファイルでは、取引が開始され、SL+TPを設定するために変更されていますが、終了したことを示す記録がないことです。 FAP Turboが正常に動作しているときにExpertsログの他のレコードを見たところ、このEAは通常間違いなくCloseレコードを生成しますが、このケースでは生成しません。 MT4の他のインスタンスのログファイルをすべて見てみましたが、この取引に関する他の参照はありません。 MT4Logs フォルダです。 17:28:49 '103028': order was opened :#2662451 buy 0.20 EURUSDFXF at 1.2909 sl: 0.0000 tp: 0.0000 17:28:49 '103028': 修正オーダー #2662451 buy 0.20 EURUSDFXF at 1.2909 sl: 0.0000 tp: 0.0000 -> sl: 1.2407 tp: 1.2929 17:29:02 '103028': クローズオーダー #2662451 buy 0.20 EURUSDFXF at 1.2909 sl: 1.2407 tp: 1.2929 at price 1.2906 17:29:02 '103028': リクエストがサーバーに受け入れられました。 MT4ExpertsLogs フォルダにあります。 17:28:48 FapTurbo50 EURUSDFXF,M5: 開く #2662451 buy 0.20 EURUSDFXF at 1.2909 ok 17:28:49 FapTurbo50 EURUSDFXF,M5: modify #2662451 buy 0.20 EURUSDFXF at 1.2909 sl: 1.2407 tp: 1.2929 ok Problem with MT4 Opening Serious Bug in demo Useful tips for participants 123456 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
どのEAが原因かはまだ分かっていません。
これまで見てきたのは、症状といくつかの理論だけです。これ以上の結論を出すには、experts/logs フォルダにある4 つのターミナルすべての ログを同じ時間帯で見る必要があります。これらのログは、私の理論を支持することも否定することもできますし、誰がクローズ注文を送信しているのかを示してくれます。
彼はそれぞれのEAを別の口座/端末で動かしていると思ったのですが?
//スレッドを読み直したところ、彼は4つのターミナルで30個のEAを動かしていることがわかりました...。
//z.
それぞれのEAを別のアカウント/端末で動かしているのでは?
端末の数だけログが必要です。彼は4つの端末で、それぞれいくつかのEAを動かしていると言っていたように記憶しています。しかし、それは本当に多くの問題ではありません、最も重要な のは、同時にすべての 端末のログを見ることです。
端末1でEA1が開いたトレードを、端末2で動いているEA2が閉じることがあります。EA1はすぐにその取引を再開し、EA2はすぐにこの取引をまた閉じるということが無限に繰り返されます。
ターミナル1のエキスパートログはOPENに関するエントリで埋め尽くされ、ターミナル2のエキスパートログはCLOSEに関するエントリで埋め尽くされます。口座履歴では、EA1が取引を開始したため、すべての損失はEA1に起因し、EA2は完全に潜伏して、その名前は口座履歴に記載されません。EA2の名前は口座の履歴には残りません。
もし、問題のEAが最終的に見つかった場合、このような事態にならなかった 唯一のEA、常に正常に動作しているように見えた唯一のEA、最も疑われていないEAが有罪になることを約束します。
一度だけ、私のEAが同じような状態になったことがあります。
幸運なことに、私は利益のあるトレードだけをクローズしました。
当時は、問題はそのEAでしか起きないと考え、そのEAのせいにしました。
*** サーバーのトランザクションログのコメント欄から、同じEA(この例ではCallibre)がトレードを開始し、すぐにクローズしたことが分かります。サーバーのトランザクションログのコメント欄から、同じEA(この例ではCallibre)が取引を開始し、すぐに閉じていることがわかります。
Peter:すでに説明したように、コメント欄は誰が取引を開いたかを示し、誰がそれを閉 じたかは示しません。これは誤解を招く恐れがあり、直感的に理解しにくいため、間違った場所で検索しているのです。コメント欄は、OrderSend()関数の8番目のパラメータで設定されます。これは、注文がオープン されたときです。この時点以降、コメント欄は固定され、それ以上変更することができなくなります。OrderClose() では、テキスト情報を指定することはできません。注文がどのように、あるいは誰によって閉じられるかにかかわらず、そのコメントは維持されるか、あるいはストップロス、テイクプロフィット、部分決済、マージンコールなどを示す [sl] や [tp] などの文字列が前置されることになります。
OrderClose()によって閉じられた注文は、元のコメントを保持 します。誰がOrderClose()を呼び出したかは、この時稼働していた全ての 端末のエキスパートログから探すしかありません。
端末を起動している各マシンのexperts/logs/ フォルダにある4つの端末の エキスパートログ(これはそれぞれの端末の「エキスパート」タブのログです)を添付して、誰が取引を終了したかを調べてください。キャリバーEAでは ありません。
hi 7bitさん、近日中にログをアップロードします。
問題のあった日のログで気になったのは、このようなエラーが多いことです。
00:11:16 Memory handler: cannot allocate 160308896 bytes of memory(メモリハンドラ:160308896バイトのメモリを割り当てられません。
00:11:16 HistoryBase: not enough memory for 'EURGBP1' in AddTick()
Googleで検索してみると、チャート内のバーが多すぎることが原因であることがわかります。私はより多くの履歴をダウンロードできるように、Max Bars パラメータを高く設定していましたが、その後この設定を減らしました。
これらのエラーがインジケータのシグナルを狂わせ、EAに問題を引き起こしているのではと思うのですが?
今、私のお気に入りの理論です。
00:11:16 Memory handler: 160308896 バイトのメモリーを割り当てることができません。
00:11:16 HistoryBase: AddTick() の 'EURGBP1' 用に十分なメモリがありません。
これは関連性があるとは思えません。また、OrderClose()の呼び出しを実際に行ったのが誰なのかもわかりません。
やはり、メモリリソース不足でインジケータが狂い、トレードのオープンとクローズが発生したのではないでしょうか。もしそうだとしたら、それを証明するのは非常に難しいでしょう。
以下は、何が起こっているかの一例である2つのLogsフォルダからの抜粋です。
このEAはFAP Turbo LT.で、何年も使っていますが、いつもうまく動作しています。
Logsフォルダには、MT4が行うOpenとCloseの動作が表示されており、この場合、取引番号は2662451です。
不思議なのは、Expertsログファイルでは、取引が開始され、SL+TPを設定するために変更されていますが、終了したことを示す記録がないことです。
FAP Turboが正常に動作しているときにExpertsログの他のレコードを見たところ、このEAは通常間違いなくCloseレコードを生成しますが、このケースでは生成しません。
MT4の他のインスタンスのログファイルをすべて見てみましたが、この取引に関する他の参照はありません。
MT4Logs フォルダです。
17:28:49 '103028': order was opened :#2662451 buy 0.20 EURUSDFXF at 1.2909 sl: 0.0000 tp: 0.0000
17:28:49 '103028': 修正オーダー #2662451 buy 0.20 EURUSDFXF at 1.2909 sl: 0.0000 tp: 0.0000 -> sl: 1.2407 tp: 1.2929
17:29:02 '103028': クローズオーダー #2662451 buy 0.20 EURUSDFXF at 1.2909 sl: 1.2407 tp: 1.2929 at price 1.2906
17:29:02 '103028': リクエストがサーバーに受け入れられました。
MT4ExpertsLogs フォルダにあります。
17:28:48 FapTurbo50 EURUSDFXF,M5: 開く #2662451 buy 0.20 EURUSDFXF at 1.2909 ok
17:28:49 FapTurbo50 EURUSDFXF,M5: modify #2662451 buy 0.20 EURUSDFXF at 1.2909 sl: 1.2407 tp: 1.2929 ok