にほんブログ村 為替ブログ FX システムトレード派へ
いつも訪問ありがとうございます。

  EA & 取引ツール & ブログ更新の励みになります!
    アツき応援をよろしくお願いします☆彡

ディスプレイ解像度への対応  


数日前にPCを買い、セットアップも完了しました。

しかし私が作成したEAやインジケータに問題が起こります。
それは解像度の違いによる表示崩れで、前PCの1366×768で作成した物が、新PCの1920×1080ではまともに見られないというものです。

そこで修正プログラムが必要なわけですが、表示位置を変えただけでは、結局そのPCと同じ解像度でなければ同じように表示崩れが起こるので解決にはなりませんし、公開製品である以上は動作環境の違いにも対応できていなくてはなりません。

しかしEAやインジケータのパラメータでいちいち解像度を設定してもらうなどという面倒な操作はナンセンスなので、自動で補正するプログラムを組み込む必要があるわけです。

MQLで解像度を取得→作成した時の解像度からその比率を算出→その比率を座標に乗算
というフローになりますが、MQLそのままでは解像度の取得ができませんので、includeのwin32を使用しての取得になります。

これでx座標もy座標も取得できるのですが、必要なのは縦軸のy座標で、この比率をy座標だけで無くx座標にも適用させています。

なぜx座標をy座標と同じ倍率にするのかですが、画面の縦横比が4:3や16:9など異なる場合でも表示崩れが起こるためで、この問題の解決には横軸ではなく縦軸のy座標である必要だからです。


ちなみにこのタイプの修正が必要になったのは、テキストを定位置に表示させているタイプの物で、一般的に普及している価格や時間などの位置に対して可変表示させるものには必要ありません。

ちなみに私の作品では、インジケータのCurrencyPowerReturnerが該当しているので、修正しました。
使用しているPCの解像度にもよりますが、大幅に改善するタイプもあると思います。

EAでは全作品ともさほどの問題ではなかったのですが、文字間隔が見やすく改善されています。


それにしてもプログラミングでは色々な問題がありますね。
ただ優秀なEAやインジケータと言うだけではなく動作環境などは、気付きにくい場所ですので色々と苦労させられます(泣)

 この記事にコメントする

最新コメント

リンク

最新記事

ブロとも

category: MQL

tb: 0   cm: 0

コメント

コメントの投稿

Secret

トラックバック

→ http://tpsfxea.blog.fc2.com/tb.php/207-ed090a1e
  この記事にトラックバックする(FC2ブログユーザー)

 全記事一覧   HOME » MQL » ディスプレイ解像度への対応

▲ Pagetop