BMP画像を簡単にMT4のチャートに表示させる方法

BMP画像をMT4に表示
yuki
yuki
今回はMT4のチャートにこちらで紹介した方法よりももっと簡単に画像を表示させるテクニックのご紹介です
カオチャイ
カオチャイ
BMP画像に限定されますが、より気軽に表示させることができちゃいます!
yuki
yuki
開発者のロゴなどを表示し、そこからリンクを飛ばすようなこともできますので、広告などに利用できる重要なテクニックでもありますね!
カオチャイ
カオチャイ
この機能を使うには、MQLAuth.mqhのバージョン1.05以降が必要なので、まだ更新していない方は先にダウンロードして入れ替えておいてくださいね

MT4に画像を表示

MT4に画像を表示

このテクニックを使うとインジケーターにロゴやリンク画像を表示させることが出来ます。これにより自分で開発したインジケーターの著作権をアピールすることも可能ですね。

さらにPayPal連携機能と組み合わせればここから課金するシステムも作れちゃいます。

ただしMT4はチャート上にこういった画像を表示させることに向いたソフトではありませんので、それなりの下準備が必要です。

 

こちらと合わせればリンク付き画像に
MT4からブラウザを開く方法
MT4のチャートに表示させた画像(ロゴ)クリックでブラウザを開いてみよう https://interactivebrokers.work/start_mqlauth/ MT4に表示したロゴをクリックす...

 

好きな画像をBMP(24ビット)形式に変換する

今回の方法は、表示させたい画像を24ビットのBMP画像に変換する必要があります。

この変換は、Windowsに標準でインストールされているペイントソフトを使って行うことができます。

 

カオチャイ
カオチャイ
ペイントソフトを立ち上げたら下記の手順で画像の変換を行って下さいね!

まずは標準のペイントソフトで画像を整えよう

まず左上の【ファイル】メニューからMT4に表示したいファイルを開いておきます

 

ホームメニューの【サイズ変更】で表示したいサイズに変更します

 


こちらからお好みのサイズに調整しておきます

 

サイズを変更したら、左上の【ファイル】から【名前を付けて保存】を選び、BMP画像を選択します

 

保存する場所を選択します。今回は【MQL4/Include/Images/】に【SYSFAClogo50.bmp】というファイル名で保存します。ここでファイルの種類が【24ビット ビットマップ】になっているか確認し、保存ボタンを押します。

 

続いてソースコードを書き込んでいきましょう

#include <MQLAuth.mqh>
#resource "\\Include\\Images\\SYSFAClogo50.bmp"

#property copyright "©2020  MT4ツール製作【シストレファクトリー】"
#property link      "https://interactivebrokers.work/"
#property version   "1.00"
#property strict

続いて、ソースコードの先頭でMQLAuth.mqhを呼び出し、先ほど保存した画像をリソースとして読み込みます。

リソースとして読み込むと、コンパイル時に画像ファイルがex4ファイル内に取り込まれるので、ex4を配布する際に画像ファイルを一緒に配布する必要はありません。

 

int OnInit() {
   Auth_ShowBMPIMG("\\Include\\Images\\SYSFAClogo50.bmp", "SYSFAC_LOGO");

   return(INIT_SUCCEEDED);
}

OnInit内に上記の1行を追加してください。

引数は順に、先ほど画像データを入れた場所、任意のオブジェクト名です。細かい仕様はMQLAuth公式のリファレンスを参考にしてください。

 

void OnDeinit(const int reason) {
   ObjectsDeleteAll(ChartID(),  "SYSFAC_LOGO", EMPTY, EMPTY);
}

このままだとチャートからEAを消してもラベルが残ってしまうので、OnDeinitでオブジェクトを消すようにしましょう。これで完成です。

 

MT4に画像を表示させるこの様に画像が表示できました

 

カオチャイ
カオチャイ
今回の方法の利点としては、下記の記事で紹介した方法よりもインジケーターが軽く仕上がるという利点があります
yuki
yuki
基本的には今回の方法を選択することをおすすめしますよ!
MT4に画像を表示
MT4のチャート上に画像を表示してみよう https://interactivebrokers.work/start_mqlauth/ MT4に画像を表示 こ...

 

今回作成したコード

//+------------------------------------------------------------------+
//|                                      ©2020  MT4ツール製作【シストレファクトリー】 |
//|                                 https://interactivebrokers.work/ |
//+------------------------------------------------------------------+
#include <MQLAuth.mqh>
#resource "\\Include\\Images\\SYSFAClogo50.bmp"

#property copyright "©2020  MT4ツール製作【シストレファクトリー】"
#property link      "https://interactivebrokers.work/"
#property version   "1.00"
#property strict
#property indicator_chart_window

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit() {
   Auth_ShowBMPIMG("\\Include\\Images\\SYSFAClogo50.bmp", "SYSFAC_LOGO");

   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {
   ObjectsDeleteAll(ChartID(),  "SYSFAC_LOGO", EMPTY, EMPTY);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[]) {

   return(rates_total);
}

 

インジケーターのカスタマイズ色々
EAのカスタマイズ方法
EA・インジケーター認証システムMQLAuthの便利なコード集MQLAuthを使ったインジケーターのカスタマイズ方法を解説しています...
ダウンロードでそのまま使えるコード集
MQL実装例
【コピペでOK】RSIのEAに口座認証や一括メッセージ機能を実装してみました https://interactivebrokers.work/start_mqlauth/ 個人でEAを販売する際につけてお...
MQL実装例
【コピペでOK】MT4のチャートから飛ばすURLをソースコードを編集せずに、MQLAuthの管理画面から変えられるようにする https://interactivebrokers.work/start_mqlauth/ メッセージのURL変更を簡単に ...
MQL実装例
【コピペでOK】バイナリーオプションサインツールに体験版機能を機能を実装してみました https://interactivebrokers.work/start_mqlauth/ 体験版機能付きのBO用サインツー...