高勝率サインツール(mi_LineTrade_Signal)販売開始!


遂に完成!
ライントレード + 高勝率ロジック採用

リペイントなし  サイン期待値表示
単発勝率70%超え ロジック自動切換え等々

mi_LineTradeの詳細はこちら


MQL講座(15)iCustomからの呼び出しを防止する方法!EA化させない方法

Sponsor Link








皆さん、みーでございます。

今回は少し上級者向けの内容となっております。

自作したインジケーター、サインツールを販売や配布する場合に、何も対策しないと、簡単にEA化されてしまいます。そして、転売販売される可能性だってあります。

そうした転売防止策の一つとして、EA化されない(させない)手法を公開します。

この手法、、、2024年9月現時点において、ネットに情報がないんです。なので、かなり有益な情報となりますし、完全に私のオリジナル防止策です。間違っても、このノウハウ(テクニック)だけを販売しないでくださいね(笑)

 

EA化は何が問題か

バイナリ―オプションでのEA化は、他人が作成したインジケーターやサインツールの情報を取得し、自動売買させることを言います。

つまり、皆様が研究して作成したロジックを、他人が勝手に使用して、自動売買として販売することができます。MQL言語の「iCustom」と呼ばれる関数を使用すれば、簡単にサインツールを呼び出すことが可能です。一般的な自動売買ツールには、この「iCustom」を利用してサインを取得する処理が実装されています。

良いサインツールは、すぐにEA化されますので、ノウハウを他人へ流出させないことも、インジケーターやサインツールにおいて重要なことです。そうした方への貢献だけはしたくないものです。他人のロジックで転売して稼がれることは防ぎたいですよね。

少し余談ですが、私の有料サインツール「mi_LineTrade_Signal」は当然、本対策を実施しており、ユーザー認証もありますので、転売への対策も十分です。その経験から、今回は特別に「iCustom」から呼び出されても情報を返却しない方法を公開します。

 

iCustom()からの呼び出しを防ぐ方法

iCustom()から呼び出されたのか、チャートから呼び出されたかを判断することが出来れば、それが一番簡単な方法なのですが、その方法がないんです・・・

なので、世の中にあるインジケーターやサインツールはiCustom()からの呼び出しを防止できませんので、サイン情報を取得し放題という状況です。

しかし、この方法を使えば、iCustom()から呼び出されても、サインの情報を返却しませんので、EA化されることはありません。

その方法は【Timerイベントを使用】することです。Timerは、チャートから呼び出された場合は正しく機能しますが、iCustom()から呼び出さた場合はイベント処理が行われません。これを利用します!

static int Tick_count = 0;
static bool IsCalledCustom = true;

// Timerイベント発行
int init() {
   EventSetTimer(1);
);

start(){
   // Timerイベントが処理されない場合(IsCalledCustom == true)は処理しない
   if(Tick_count > 0 && IsCalledCustom == true){
      return(0);
   }
   Tick_count ++;
}

void OnTimer(){
   // IsCalledCustom をfalse(Timerイベントが処理された)
   IsCalledCustom = false;
   EventKillTimer();
}

 

これだけです。

この実装を組み込んでおくか否かで、EA化されるサインツールになるのか、EA化されないサインツールになるかが決まります。

ぜひ、これからサインツールを作る人も、今まで作成した方も、EA化されたくないツールには必ず実装しておいてください!

この手法の名前は、【mi iCustom Block】(通常:カスブロ)です!

MQL講座(16)ユーザー認証機能を付ける簡単な方法(使用期限、バージョン管理にも最適)

2024年9月12日

MQL講座の記事一覧はこちら

Sponsor Link








コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です