EAへのパスワード保護

 

こんにちは、皆さん

EAをパスワードで保護 するコードは何ですか?

そして、インターバンクFXサーバーでEAを動作させることは可能でしょうか?

どんなヘルプでも結構です。

バイバイ

shwetha

 
shwetha:
こんにちは、皆さん

EAをパスワードで保護するコードは何ですか?

そして、インターバンクFXサーバーでEAを動作させることは可能でしょうか?

どんな助けでも、これは感謝されます。

バイ

shwetha

こんにちは、shwethaさん。

とても簡単です。

extern string password = "000000";

....

int start()

{

if (password != 123456) //change the 123456 to the password you will give to the user!

{

Alert ("Wrong password! Do you want to cheat my system which I spent my life developing!");

return (0);

....

}

そして、EAをコンパイルして楽しんでください。

 
Mohammed:
こんにちは、shwethaさん。

とても簡単です。

extern string password = "000000";

....

int start()

{

if (password != 123456) //change the 123456 to the password you will give to the user!

{

Alert ("Wrong password! Do you want to cheat my system which I spent my life developing!");

return (0);

....

}
では、EAをコンパイルして、 を楽しんでください。

ところで、なぜ自分のEAを守ろうとするのですか?ここでは知識を共有するのではないのですか?

 

エラー表示

こんにちは、mohammedさん。

返信ありがとうございます。しかし、コンパイルすると以下のエラーが表示されます。

'{' - グローバルスコープでの式は許可されていません。

'\end_of_program' - エンディングブラケット '}' expected

ご回答お待ちしております。

バイバイ

shwetha

 
shwetha:
こんにちは、Mohammed

ご回答ありがとうございます。しかし、コンパイルすると以下のエラーが表示されます。

'{' - グローバルスコープでの式は許可されていません。

'\end_of_program' - エンディングブラケット '}' expected

ご回答お待ちしております。

バイバイ

シュエタ

shwethaです。

あくまで、どのようにコードを書くべきかのアイデアです。

まあ、コードはこんなものでしょう(Coders Guruの教育用EA "My First EA "に適用)。

//+------------------------------------------------------------------+

//| My_First_EA.mq4 |

//| Coders Guru |

//| https://www.forex-tsd.com |

//+------------------------------------------------------------------+

#property copyright "Coders Guru"

#property link "https://www.forex-tsd.com"

//---- input parameters

extern double TakeProfit=250.0;

extern double Lots=0.1;

extern double TrailingStop=35.0;

extern string password = "000000";

//+------------------------------------------------------------------+

//| expert initialization function |

//+------------------------------------------------------------------+

int init()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| expert deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

int Crossed (double line1 , double line2)

{

static int last_direction = 0;

static int current_dirction = 0;

if(line1>line2)current_dirction = 1; //up

if(line1<line2)current_dirction = 2; //down

if(current_dirction != last_direction) //changed

{

last_direction = current_dirction;

return (last_direction);

}

else

{

return (0);

}

}

//+------------------------------------------------------------------+

//| expert start function |

//+------------------------------------------------------------------+

int start()

{

//----

if(StringFind(password, "123456", 0) == -1) //change the 123456 to the password you will give to the user!

{

Alert ("Wrong password! Do you want to cheat my system which I spent my life developing!");

return (0);

}

int cnt, ticket, total;

double shortEma, longEma;

if(Bars<100)

{

Print("bars less than 100");

return(0);

}

if(TakeProfit<10)

{

Print("TakeProfit less than 10");

return(0); // check TakeProfit

}

shortEma = iMA(NULL,0,8,0,MODE_EMA,PRICE_CLOSE,0);

longEma = iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,0);

int isCrossed = Crossed (shortEma,longEma);

total = OrdersTotal();

if(total < 1)

{

if(isCrossed == 1)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"My EA",12345,0,Green);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());

}

else Print("Error opening BUY order : ",GetLastError());

return(0);

}

if(isCrossed == 2)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"My EA",12345,0,Red);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());

}

else Print("Error opening SELL order : ",GetLastError());

return(0);

}

return(0);

}

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())

{

if(OrderType()==OP_BUY) // long position is opened

{

// should it be closed?

if(isCrossed == 2)

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position

return(0); // exit

}

// check for trailing stop

if(TrailingStop>0)

{

if(Bid-OrderOpenPrice()>Point*TrailingStop)

{

if(OrderStopLoss()<Bid-Point*TrailingStop)

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);

return(0);

}

}

}

}

else // go to short position

{

// should it be closed?

if(isCrossed == 1)

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position

return(0); // exit

}

// check for trailing stop

if(TrailingStop>0)

{

if((OrderOpenPrice()-Ask)>(Point*TrailingStop))

{

if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);

return(0);

}

}

}

}

}

}

return(0);

}

//+------------------------------------------------------------------+
 

なぜ?

あなたはまだ私に返信していません;あなたはEAを守りたいのですか?私たちは知識を共有し、お互いに助け合うためにここにいるのではないでしょうか?(私のフリーコードをお見せするために、Coders GuruのフリーEAを使ったことを思い出してください)?

 

メタトレーダービルドバージョンでトライアルEAも可能です。

メタトレーダービルドバージョン190でのみEAを実行 !

MT Build != 190 ならば EA を消去 !

--

 

あるいは、もしあなたがIBで、新しい口座にシステムを提供するなら、そのシステムをあなたのIB口座に関連付けることができます。新しいトレーダーは、あなたとの取引口座でのみシステムを使用することができるようになります。そのトレーダーが、あなたに手数料が発生しないような口座でシステムを使用することから、あなたを守ることができるのです。

なぜPassWordなのでしょうか?それは、コードを保護する方法に違いがあるからです。

CockeyedCowboy

 

私のビルド191

私のメタトレーダーのバージョンは4ビルド191です。

 

さて、あなたのEAを保護する方法は何百とあります。

1- 私が提出したコード(ハードコードされたパスワード)を使用することができます。

2- アルゴリズムを作成して、何かを収集し、パスワードと比較することができます。(例えば、口座の証拠金×購入日÷100)。

3- dllを作成してEAに同梱し、そのdllでパスワードを処理することができる(Webサイトに接続してパスワードを取得することができる)。

4- ユーザーの口座番号とEAを紐付けることができる。電子メールでアカウント番号を教えてもらい、それをEAに組み込んでコンパイルし、コンパイルしたものをユーザーに送ります。

5- 指定されたMTのバージョンでのみEAを動作させることができます。

6- EAの実行回数を制限することができます。

7- EAを使用する日数を制限することができます。

8- EAを無料で公開し、気に入ったユーザーがいれば寄付を求めることができます。推奨

 

ハイ

Mohammed:
;EAを保護するために何をしたいのですか?私たちは知識を共有し、お互いに助け合うためにここにいるのではないでしょうか?(私のフリーコードをお見せするために、Coders GuruのフリーEAを使ったことを思い出してください) ?

こんにちは、Mohammed

私はブローカーのサーバーで私のEAをロードしたい場合に備えて、パスワード保護が 必要です。

バイバイ

ありがとうございます

shwetha