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

 

他のアカウントに切り替えると、端末がハングアップしてしまう。

ビルド:2007、OS:Win7 x64


 
Vitaly Muzichenko:

他のアカウントに切り替えると、端末がハングアップしてしまう。

ビルド:2007、OS:Win7 x64

こういう時のカスタムキャラクターは、何でもありなので、期待していました。

持っていないのでしょう。それなら、問題は別のところにある。

 
fxsaber:

ループしているスクリプトを削除しようとすると、しばらく端末がフリーズすることがあります。

しかし、ループしたExpert AdvisorをTesterで実行すると、Stopボタンを押したときにすぐにフリーズしてしまうのです。


なぜ、このようなケースで動作が異なるのでしょうか?

どのくらいループするのでしょうか?ループ内でIsStopped()チェックが 行われているか?

端末がハングアップした場合は、インターフェーススレッドがブロックされたことを意味します。スクリプトは3秒間で停止し、IsStopped()のチェックがなければ、ハードストップされるまで実行し続ける。また、この場合、インターフェースのスレッドがロックされることがあります。

テスターは重要な機能(例えば取引など)を実行できないので、もっと早く停止してしまうでしょう。その上、テスターはクライアント端末に影響を与えない別プロセスであるため

 
Slava:

どのようにループしているのですか?ループ内でIsStopped()チェックが行われているか?

このチェックがないスクリプトのことを具体的に言っているのです。

端末がハングアップした場合は、インターフェーススレッドがロックされたことを意味します。スクリプトは3秒間で停止し、IsStopped()のチェックがなければ、ハードストップされるまで実行し続ける。そしてこの場合、インターフェイスのスレッドがロックされることがあります。

テスターは、重要な機能(例えば取引)を実行できないため、停止がはるかに速いです。また、テスターはクライアント端末に影響を与えないよう、完全に別工程となっています

そこで気づいたのですが、TesterとTerminalのハードストップの実行方法が異なっています。

 
fxsaber:

こういう時のカスタムキャラクターは、何でもありで、罪深いですね。

持っていないのでしょう。それなら問題は別です。

カスタムのものはありません。

同じサーバーでアカウントを切り替えると、短時間ハングアップし、ログに "異常な端末" と表示されます。

異なるサーバー(DC)を切り替えた場合、長時間ハングアップする。

非常に長い時間、例えば3-5日間、切り替えずに1つのサーバーで作業し、その後切り替えると、ターミナルがタイトにハングアップします。

 
Vitaly Muzichenko:


すると、しばらくハングアップして、ログに "abnormal terminal" と表示されます。


ログの全記録を提供してください

 
Slava:

ログの完全なエントリを教えてください

なるほど、問題は私の側にあるのだろう、掛け金は顧問のものなのだろう。

EJ      2       08:58:24.000    EA_Trade (EURCAD,H1)    Abnormal termination

そうだろ?

 
Vitaly Muzichenko:

なるほど、問題は私の側にあるのだろう、掛け金は顧問のものなのだろう。

そうだろ?

IsStopped()チェックの ないループEAのようです。
 
Slava:
IsStopped()チェックのないループ型EAのようです。

はい、そうですが、ループではなく、時分割です。

IsStopped()を追加します。

ありがとうございました。

 
Vitaly Muzichenko:

はい、そうですが、ループではなく、時分割です。

IsStopped()を追加します。

ありがとうございました。

OnTimerがループしていなければ、異常終了はないはずです。

クライアント端末の挙動を確認するために、専門家に依頼することは可能でしょうか?