カスタマイズ変数の設定
AIアシスタントによる実装や、MQLAuthBoilerplate.mqh を使った実装では、ソースコードの先頭に以下のカスタマイズ変数が追加されます。これらの値を変更することで、メッセージ表示・アップデート通知・体験版・ロゴ表示などの動作を切り替えられます。
//--- MQLAuth カスタマイズ
bool _useApplicationMessage = true; // 一斉メッセージを利用する
int _applicationMessageViewSecond = 8; // 一斉メッセージを消すまでの秒数
bool _useUserMessage = true; // 個別メッセージを利用する
int _userMessageViewSecond = 8; // 個別メッセージを消すまでの秒数
bool _useUpdateMessage = true; // アップデートのお知らせを利用する
bool _useTrial = false; // 体験版機能を使用する
int _day = 0; // 体験版の日数
bool _useLogo = false; // ロゴを表示する
string _logourl = ""; // ロゴクリックで開くページ
bool _useUpdateDownloadLink = false; // 新しいバージョンのダウンロードリンクを表示するこれらの変数について
- これらは販売者(開発者)がソースコード内で設定するものです。EAのパラメーター(input)ではないため、利用者の画面には表示されません。
- 必ず
#include <MQLAuth.mqh>の前に置いてください(MQLAuth.mqh 内の処理がこれらの変数を参照するため、順序が逆だとコンパイルエラーになります)。 - 既定値のままでも、口座番号認証・利用期限表示・メッセージ・アップデート通知は問題なく動作します。
メッセージ表示に関する変数
チャート上には、認証成功後に「一斉メッセージ → 個別メッセージ → アップデート通知/体験版期限」の順で情報が表示されます。この表示のオン・オフと表示時間を制御します。
| 変数 | 型・既定値 | 説明 |
|---|---|---|
_useApplicationMessage | bool・true | 一斉メッセージを表示するか |
_applicationMessageViewSecond | int・8 | 一斉メッセージを表示する秒数 |
_useUserMessage | bool・true | 個別メッセージを表示するか |
_userMessageViewSecond | int・8 | 個別メッセージを表示する秒数 |
_useApplicationMessage(一斉メッセージ)
管理画面でEA・インジケーターに設定した「一斉メッセージ」を、利用者のチャート左下に表示するかどうかです。
true(既定) … 認証成功後にサーバーから一斉メッセージを取得し、チャートに表示します(1時間に1回確認)。メッセージ本文に区切り文字「#」を付けてURLを添えると、メッセージのクリックでそのURLをブラウザで開けます。false… 一斉メッセージを取得・表示しません。
_applicationMessageViewSecond(一斉メッセージの表示秒数)
一斉メッセージを表示してから、次の表示(個別メッセージ)へ切り替わるまでの秒数です。既定は 8(8秒)。数字を大きくすると長く表示され、小さくすると早く次へ切り替わります。
_useUserMessage(個別メッセージ)
管理画面で利用者ごとに設定した「個別メッセージ」を表示するかどうかです。
true(既定) … 認証時に取得したその利用者あての個別メッセージを、一斉メッセージのあとに表示します。「#」付きURLでクリック時にブラウザを開くのは一斉メッセージと同じです。false… 個別メッセージを表示しません。
_userMessageViewSecond(個別メッセージの表示秒数)
個別メッセージを表示してから、次の表示(アップデート通知や体験版の利用期限)へ切り替わるまでの秒数です。既定は 8(8秒)。
アップデート通知に関する変数
| 変数 | 型・既定値 | 説明 |
|---|---|---|
_useUpdateMessage | bool・true | 新バージョンのお知らせを表示するか |
_useUpdateDownloadLink | bool・false | お知らせにダウンロードリンクを付けるか |
_useUpdateMessage(アップデートのお知らせ)
新しいバージョンが公開されたときに、利用者のチャートでお知らせするかどうかです。
true(既定) … 認証成功後、管理画面に登録された「最新バージョン番号」を取得し、ソースコードのVERSIONより新しければ「新しいバージョン ○○ があります。」と表示します。false… バージョンの確認・お知らせを行いません。
お知らせを出すには
お知らせが表示されるのは、管理画面のEA・インジケーター設定で「最新バージョン番号」を、配布済みEAの VERSION より大きい値に更新したときです。バージョンを上げていなければ、true でもお知らせは出ません。
_useUpdateDownloadLink(ダウンロードリンクの表示)
アップデートのお知らせに、ダウンロード先を開くクリックリンクを付けるかどうかです。
true… 「新しいバージョンがあります」の下に「ダウンロードするにはここをクリック」を表示します。クリックすると、管理画面のEA設定で登録したダウンロードURLをブラウザで開きます。false(既定) … リンクは表示せず、お知らせのテキストのみになります。
このリンクは _useUpdateMessage が true で、かつ新しいバージョンが存在するときにのみ表示されます。ダウンロードURLは、管理画面の「EA・インジケーターの管理」でEA編集時の「ダウンロードURL」に設定します。
体験版機能に関する変数
| 変数 | 型・既定値 | 説明 |
|---|---|---|
_useTrial | bool・false | 体験版機能を使うか |
_day | int・0 | 体験版の有効日数 |
_useTrial(体験版機能)
未登録の口座でEA・インジケーターがチャートに挿入されたときに、体験版ユーザーを自動的に作成するかどうかです。
true… 未登録の口座でも、_day日間だけ有効な体験版ユーザーを自動作成して認証を通します。不特定多数への期限付き体験版の配布に使えます。false(既定) … 未登録の口座は認証されません(管理画面で登録済みの利用者のみ利用できます)。
_day(体験版の日数)
_useTrial が true のときに、自動作成される体験版ユーザーの有効日数です。
- 例えば
_day = 7なら、体験版の利用期限は挿入日から7日後になります。 _useTrial = trueにするときは、_dayを必ず1以上に設定してください。0のままだと、その場で期限切れの体験版になってしまいます。_useTrial = falseのときは、この値は使われません。
体験版は「同じ口座で一度だけ」
体験版ユーザーは、同じ口座番号では期限切れ後に再作成できません(使用済みの記録として残ります)。詳しい仕様は「体験版機能」をご覧ください。
ロゴ表示に関する変数
| 変数 | 型・既定値 | 説明 |
|---|---|---|
_useLogo | bool・false | チャートにロゴを表示するか |
_logourl | string・"" | ロゴをクリックしたときに開くURL |
_useLogo(ロゴの表示)
チャートの左下にロゴ画像を表示するかどうかです。
true…Include\Images\logo.bmpを左下に表示します。メッセージの表示位置も、ロゴと重ならないように右へずれます。false(既定) … ロゴを表示しません。
ロゴ画像の準備が必要です
ロゴを表示するには、BMP形式の画像ファイル logo.bmp を Include\Images\ フォルダに配置しておく必要があります。ファイルが無いと表示されません。
_logourl(ロゴのリンク先)
表示したロゴをクリックしたときに開くURLです。自社サイトやSNSなどのURLを設定できます。
- URLを設定すると、チャート上のロゴをクリックしたときに、そのページをブラウザで開きます。
- 空欄
""(既定) … クリックしても何も起きません。 - この設定は
_useLogo = trueでロゴが表示されているときに機能します。