記事「初級から中級まで:関数ポインタ」についてのディスカッション

 

新しい記事「初級から中級まで:関数ポインタ」はパブリッシュされました:

プログラミングにおいて「ポインタ」という概念について聞いたことがある方は多いと思います。しかし、MQL5でもこの種のデータを利用できることをご存じでしょうか。もちろん、これは実行時の挙動を適切に制御し、不可解な動作を回避できるよう慎重に扱う必要があります。ただし、この機能は非常に限定的な用途に向けたものであり、特定のタスクに特化しているため、MQL5におけるポインタの概念や使用方法について語られる機会はあまり多くありません。

前回の「初級から中級まで:オブジェクト(II)」では、チャート上に表示されたオブジェクトを操作するために利用できる最初の種類のイベントについて扱いました。

しかし前回扱ったイベントは、MetaTrader 5がユーザーのチャート操作に対して常にデフォルトで発生させるタイプのイベントです。ここではキー入力イベントを指します。このイベントはOnChartEventハンドラで容易に捕捉できるため、「キーボード入力を扱うにはこの方法しかない」と考えるかもしれません。しかし実際にはそうではありません。MetaTrader 5のスクリプトはOnChartEventハンドラを直接使用しているわけでもサポートしているわけではありませんが、それでもキーボードによって特定のオブジェクトプロパティを制御する仕組みをスクリプトと組み合わせて実現することは可能です。ただし、これはやや特殊なアプローチになります。

したがって、マウスイベントの扱いを見る前に、まずスクリプトにおけるキーボードイベントの処理方法について確認していきます。MetaTrader 5、つまりMQL5は本来このような用途を想定して設計されているわけではなく、価格チャートを扱うための環境です。そのため、実現できることとできないことを正しく理解することが重要です。ここには明確な制約が存在します。


作者: CODE X