Выполнение функции OnDeinit() ограничивается 2.5 секундами. Если за это время функция не закончила свою работу, то ее выполнение завершается принудительно.
23:48:28.853 test (EURUSD,H1) 1.023:48:29.857 test (EURUSD,H1) 1.023:48:30.856 test (EURUSD,H1) 4.023:48:31.881 test (EURUSD,H1) 2.023:48:32.880 test (EURUSD,H1) 4.023:48:33.887 test (EURUSD,H1) 11.023:48:34.914 test (EURUSD,H1) 15.023:48:35.926 test (EURUSD,H1) 7.023:48:36.936 test (EURUSD,H1) 9.023:48:46.477 test (EURUSD,H1) 6.023:48:47.479 test (EURUSD,H1) -1.0
Expert Advisor で、Expert Advisor が削除されたときに注文を削除し、ポジションをクローズするように規定されている場合、
の場合、すべて削除され、決済されます。
小さな追加:2.5秒かかる場合。
やり方がわからないんだ。
マウスホイールのスクロールイベントが発生すると、コードが実行されます。
マウスホイールは一度に数クリックスクロールさせることができ、dparam = クリック数で1つのイベントではなく、dparam = +/-120 で複数のイベントが発生します。
コードが実行される時間は、マウス・ホイールをスクロールするときのクリック間隔よりずっと長い。
その結果、誰もマウスホイールをスクロールしなくなり、プログラムはさらに何時間も再計算を続けることになります。
マウスホイールは15:12:22.820にスクロールし、プログラムはさらに5回、丸5秒間実行された。質問:プログラムのコードを何回も実行するのではなく、1回だけ実行するにはどうすればよいでしょうか。
つまり、ホイールが5回クリックされ、delta = dparam / 120 * 5.
やり方がわからないんだ。
マウスホイールのスクロールイベントが発生すると、コードが実行されます。
マウスホイールは一度に数クリックスクロールさせることができ、dparam = クリック数で1つのイベントではなく、dparam = +/-120 で複数のイベントが発生します。
コードが実行される時間は、マウス・ホイールをスクロールするときのクリック間隔よりずっと長い。
その結果、誰もマウスホイールをスクロールさせなくなり、プログラムはさらに時間をかけて再計算し続けることがわかった。
マウスホイールは15時12分22秒820にスクロールし、プログラムはさらに5回、丸5秒間実行された。質問:プログラムのコードを何回も実行するのではなく、1回だけ実行するにはどうすればよいでしょうか。
つまり、ホイールが5回クリックされ、delta = dparam / 120 * 5.
これを試す
チェックしてなかった、どちらかというと僕のせいじゃないんだけど...))))フラグをどうにかしないと...コードをカスタム関数に入れて、そこでフラグをいじらないといけないかも。
6月3日にMT5(https://www.mql5.com/ru/code/44732) 用のスクリプトを公開しました。まだ「モデレーターがチェック中」の状態である。 チェックにどれくらい時間がかかるか、誰にもわからない。
これを試してみよう
私のせいでないなら...))))))チェックしてなかった。どうにかしてフラグをいじらないと...多分、カスタム関数にコードを入れて、そこでフラグをいじらないといけないと思う。
問題は、カスタム関数はイベント関数の中だけで実行されることで、私のEAにはOnInitとOnChartEventの2つしかありません。
一般的には、エースとまではいきませんが、なんとかできました。
ー問題点はーカスタム関数はーイベント関数のー関数のー関。
ったなとー。
OnChartEventからカスタム関数を呼び出すことも問題なく できます。
フラグはグローバル・レベルで宣言されます。度フラグを度リセットするためだけに度OnTickを度挿入することは度問題なく度フラグが度フラグ。
フラグが開いている場合、カスタム関数が呼び出されます。内部的には、フラグは閉じられている。度フラグが度OnTickで度フラグが度OnTickで度フラグが度OnTick、度フラグが度フラグ。
実行時間に引っかかるよりは簡単だと思う。
OnChartEventからカスタム関数を呼び出すこともできる。
フラグはグローバル・レベルで宣言されます。フラグをリセットするためだけにOnTickを挿入しても問題ありませんし、コードの実行を遅らせることもありません。
フラグが開いている場合、カスタム関数が呼び出されます。内部的には、フラグは閉じられている。OnTickでフラグは再びオープンされ、ユーザー関数の次の実行を待ちます。
実行時間に縛られるよりは楽だと思う。
よくわからないというか、まったく理解できないんだけど......)
もしティックがなかったら、OnTickは ティックがないと動かないんだけど、どう すれば いいの?
実際、僕はOnChartEventから カスタム関数を呼び出して いる。 ホイールをスクロールさせるときに、最後にクリックしたマウスを追跡するのが問題だったんだ。
課題は、スクロール中のクリック数をカウントしながら、ホイールのスクロールを止める瞬間までカスタム関数の実行を遅らせることだった。
原理的にはうまくいった。
6月3日にMT5(https://www.mql5.com/ru/code/44732) 用のスクリプトを公開しました。まだ「モデレーターがチェック中」の状態である。 チェックにどれくらい時間がかかるか、誰にもわからない。
コードを公開した。検証は1分もかからなかった。
公開中にミスをした可能性が高い。
コードを公開したところだ。チェックには1分もかからなかった。
おそらく公開時にミスをしたのだろう。
もう一度公開してみた。同じことです:
5.テスト」の下に"テストはエラーなく完了しました" と表示され、公開しようとするが、"公開" ボタンをクリックするとエラーが発生する。
404.このページは存在しません。
サブセクション "My Codes "には現在2つのコードがあり、その両方に "checked by moderator "と表示されています。
一般的に、私は一般スレッドで質問します、多分モデレーターはまだ気づいているでしょう。