【MQL4テクニック】インジケータやEAに有効期限を設定する方法。お試し版などを配布する際に活躍!
オリジナルのEAなどを販売していると、「1週間だけ無料で試してみたい」などのご要望をいただきます。
購入者側も無料お試しなどが用意されていると安心しますよね。
今回はEAやインジケータに使用期限を設定する方法を3種類紹介します。
①期限日を直接指定する
int OnInit(){
string limitDate = "2021.12.31 00:00";
if (TimeCurrent() > StrToTime(limitDate)){
Comment("有効期限が過ぎました。");
return(INIT_FAILED);
}
Comment("有効期限は " + limitDate + " です。");
return(INIT_SUCCEEDED);
}
有効期限日をソースコードに直接書き込む一番シンプルな方法です。
現在のサーバータイムが有効期限を過ぎていた場合はINIT_FAILEDを返します。
②コンパイルした日から〇日後に設定する
int OnInit(){
int day = 3; //3日後まで有効
datetime limitDate =__DATETIME__ + 86400 * day;
if (TimeCurrent() > limitDate){
Comment("有効期限が過ぎました。");
return(INIT_FAILED);
}
Comment("有効期限は " + limitDate + " です。");
return(INIT_SUCCEEDED);
}
コンパイルボタンをクリックするだけで自動で〇日後を有効期限として設定することができます。
前述の方法とは違い、有効期限日を都度書き換える必要がありません。
③サーバーで認証する
準備中です。