Version:5.00 build 2007 25 Feb 2019 を使用しています。
(以下は、build 2005からの現象と思われます。)
OnDeinitイベント中に、ループ処理を行いObjectDeleteメソッドを実行。
ループ中に2.5秒を超えた場合に、OnDeintイベントは途中で終了しますが、
ターミナルのタスクが残る現象が発生します。
そのため、次回ターミナルを起動しようとしても、正常に起動できません。
確認する指標を作成しました。ソースコードを添付いたします。
During the OnDeinit event, execute the loop processing and execute the ObjectDelete method.
When the loop exceeds 2.5 seconds, the OnDeint event ends in the middle,
Terminal tasks will be left behind.
Therefore, even if you try to start the next terminal, it can not start up.
Also, in the same situation as above, even if you open another chart with the template, the terminal task remains.
I created an indicator to confirm.
As we attach the source code, thank you for your consideration.
ファイル:
Confirmation_method.zip
176 kb
そもそも、なぜ越えようとするのか
goldilocksbears:
そもそも、なぜ越えようとするのか
そもそも、なぜ越えようとするのか
問題発生の条件について、「そもそも」というご質問は不毛ですので、
ご容赦いただきたいと存じます。
新しいバージョンの不具合に関しましては、ロシア語のフォーラムで活発な
ディスカッションがおこなわれているようで、
この件に関しましては、すでに対処されている旨のコメントをいただきました。
https://www.mql5.com/ru/forum/304239/page23
バージョンアップを待ちたいと思います。
ありがとうございました。

Новая версия платформы MetaTrader 5 build 2007: Экономический календарь, MQL5-программы в виде сервисов и API для языка R
- 2019.03.07
- www.mql5.com
21 февраля 2019 года будет выпущена обновленная версия платформы MetaTrader 5...
その後、サービスを適当に試してみたところ、サービスでも上記の現象が発生した
また、サービスを停止することができないという現象も発生した
まだバグが多いって感じだけど
サービス機能は、個人的には便利なので、今後に期待したい

取引の機会を逃しています。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
2019年2月21日には更新されたMetaTrader 5 プラットフォームがリリースされます。この新バージョンは次の変更を含みます。
経済指標カレンダーは当社独自の祖ルーションです。ここには、米国、欧州連合、日本、英国、カナダ、オーストラリア、中国などの13の世界経済リーダーに関する金融ニュースと指標があります。データは、公開情報からリアルタイムに収集されます。
新バージョンでは、時間、優先度、通貨、国ごとに、最新のコンテンツと高度なイベントフィルタが追加されています。
カレンダーデータはMQL5プログラムからアクセスできるようになりました。詳細は以下でご覧ください。
エキスパートアドバイザー、指標、スクリプトとは異なり、サービスは特定のチャートにリンクされていません。このようなアプリケーションはバックグラウンドで実行され、ターミナルの起動時に自動的に起動されます(アプリケーションが強制的に停止された場合を除く)。
サービスは、ナビゲータウィンドウ内の新しいセクションから管理できます。
サービスを作成する方法
サービステンプレートを作成するには、対応するMQL5ウィザードオプションを使用します。スクリプト同様、サービスにはOnstartエントリポイントが1つあります。この時点で、ネットワーク機能を使用して、無限のデータ受信および処理サイクルを実装できます。
サービスをリリースする方法
異なるパラメータで複数のエキスパートアドバイザーまたは指標のコピーを実行するには、それらを異なるチャートで起動する必要があります。この場合、異なるプログラムインスタンスが作成され、独立して動作します。サービスはチャートにリンクされていないため、サービスインスタンスを作成するための特別なメカニズムが実装されています。
ナビゲータからサービスを選択して、そのコンテキストメニューの[サービスの追加]をクリックします。これにより標準のMQL5プログラムダイアログが開き、取引やシグナルへのアクセスを有効/無効にしたり、パラメータを設定したりできます。

サービスインスタンスは適切なインスタンスメニューを使用して起動および停止できます。すべてのインスタンスを管理するには、サービスメニューを使用します。新しい機能によって、初心者はプラットフォームを操作する方法を簡単に学ぶことができるようになりました。プラットフォームの主な機能に関する100以上のインタラクティブなヒントを追加しました。
新機能
CalendarCountryById — 国の説明をIDによって取得します。
CalendarEventById — イベントの説明をIDによって取得します。
CalendarValueById — イベント値の説明をIDによって取得します。
CalendarEventByCountry — 国の利用できるイベントの配列を取得します。
CalendarEventByCurrency — 影響された通貨の利用できるイベントの配列を取得します。
CalendarValueHistoryByEvent — イベントIDによって指定された期間の値の配列を取得します。
CalendarValueHistory — 国および/または通貨によって絞り込まれた、指定された期間の値の配列を取得します。
CalendarValueLastByEvent — 最後のイベントの値をIDによって取得します。この関数は前回のリクエスト以降に現れた値のリクエストを可能にします。この操作には、入出力パラメータ「change_id」が追加で使用されます。
カレンダデータベースが変更されるたびに、「change_id」プロパティ(最後の変更識別子)が更新されます。データのリクエスト中に「change_id」を指定すると、端末はそれ以降に発生したイベントと、次のリクエストに使用できる現在の「change_id」値を返します。最初の関数呼び出しでゼロ「change_id」を指定します。関数はイベントを返しませんが、それ以降の要求では現在の「change_id」を返します。
CalendarValueLast — 国および/または通貨によって絞り込まれた、すべてのイベントの最後の値の配列を取得します。この関数は前回のリクエスト以降に現れた値のリクエストを可能にします。CalendarValueLastByEvent同様、「change_id」プロパティはリクエストに使用されます。
新しい構造体
MqlCalendarCountry — 国の説明
MqlCalendarEvent — イベントの説明
MqlCalendarValue — イベント値の説明
新しい列挙型
新しいエラーコード
CharArrayToStructはuchar配列をPOD構造体にコピーします。
StructToCharArrayはPOD構造体をuchar配列にコピーします。
ネットワーク関数に新しいエラーコードが追加されました。
StringReserve指定されたサイズのメモリバッファを文字列用に予約します。
StringSetLengthは指定した文字列の長さを文字数で設定します。
ArrayRemove指定されたインデックスから始まる指定された数の要素を配列から削除します。
ArrayInsertは、指定されたインデックスから開始して、ソース配列から指定された数の要素をターゲット配列に挿入します。
ArrayReverseは指定されたインデックスで始まる指定された数の要素を配列内で反転します。
作成されたカスタム銘柄のプロパティのコピー元となる銘柄の名前は、"symbol_origin"パラメータで指定されます。
この関数を使用して完了したテストは成功したと見なされます。関数呼び出しの後、テスト中に取得された取引履歴とすべての取引統計がターミナルに渡されます。