記事"初心者のためのMQL5:グラフィックオブジェクトのアンチバンダルプロテクト"についてのディスカッション

 

新しい記事 初心者のためのMQL5:グラフィックオブジェクトのアンチバンダルプロテクト はパブリッシュされました:

グラフィックコントロールパネルが削除されたり、他の誰かによって変更されている場合、プログラムに対し、何をすべきか?この記事では、チャート上の「オーナーレス」オブジェクトを処理します。アプリケーションが削除された後に、プログラムで作成されたオブジェクトが残っている場合の処理を行います。

MQL5の利点は、既存のMQL5標準機能でさまざまなタスクを完了し、ターミナルを使用する際に別の目標を達成するコードを作ることができる点です。

シンプルな例によるこの記事では、コントロールパネルのグラフィックオブジェクトに対するプログラムの応答アクションが2種類実装されています。誰かが名前を変更してしまった場合、プログラムが削除された後に制御を失う可能性があります。

例として、オブジェクトのプロパティが手動で変更されました場合を考えます。

図1. 例として、オブジェクトのプロパティを手動で変更

例えば、第三者によるプログラムで、意図的なものでないにせよ、チャートの起動時にすべてを ObjectsDeleteAll()クリーンアップする可能性があります:

  • 手動または他のプログラムを使用して作成したオブジェクトと同じウィンドウ/サブウィンドウにあるすべてのグラフィックオブジェクトの完全な除去。
  • あるいはまた、プログラムのコントロールパネル内に存在するオブジェクトの種類を完全に除去。
  • または接頭辞による除去プログラムのオブジェクトのプレフィックスと一致。
これらは偶発的または意図的に起こりえます。 また、この記事では、シンプルに OnChartEvent()のイベント処理を学び始めた人に役立ちます。

作者: Dina Paches