MQL4などプログラムについての気づきやワンポイントを書いていくだお。
早速、行きましょう!
セレブパンダは、MT4に8か9チャートを同時に表示しています。
チャンスがくると、チャートを大きくして環境認識をします。
そんな時、チャートを簡単に画面最大化にしたいなってことがあります。
ダブルクリックで今のチャートを最大化に、もう一度、ダブルクリックで元の
画面に戻ってくれたらいいなって思い、ダブルクリックチャートを作ってみました。
残念ながら、MQL4はチャートのクリックは拾えても、ダブルクリックは認識しないんです。
どうすれば、ダブルクリックを認識すればよいか伝えます。
クリックのイベントは拾えるので、クリックされた時点で、その時の時刻を覚えておきます。
また、クリックした際に、先ほどの時刻との差が一定の時間内ならダブルクリックされたと
判断すれば、実現できます。
以下がサンプルコードです。
//イベントがクリック時
if (id == CHARTEVENT_CLICK) {
//最後にクリックした時刻(退避用)
static uint s_LastTime = 0;
//今回のクリックした時刻を取得
uint nowTime = GetTickCount();
//指定間隔以内の場合はダブルクリックと判断する
if ((nowTime - s_LastTime) <= 300) {
// TO DO ダブルクリックした際の処理
}
//今回のクリックした時刻を最後にクリックした時刻に退避
s_LastTime = nowTime;
}
if ((nowTime - s_LastTime) <= 300) {
は0.3秒以内にクリックがあったという条件です。
この300を変更すれば、ダブルクリックの反応感度を調整できます。
次回は、チャートを最大化する記事を書きたいと思います。
よいGWをお過ごしくださいだお!!