Cara memproteksi Expert Advisor



Kenapa EA yang kita buat perlu di proteksi? sepertinya pertanyaan ini sudah tidak perlu kita jawab lagi, karena semua programmer pasti tahu jawabannya.

Setiap programmer pasti tahu akan kesulitan membuat sebuah EA dan tidak sedikit pula para programmer yang enggan memberikan mq4 nya. Hal ini sangat wajar karena untuk privacy agar tidak disalahgunakan para penjual EA yang tidak bertanggung jawab.

Sebelum kita mempelajari cara memproteksi EA, ada baiknya kita belajar sedikit tentang bahasa pemrograman c++ dimana ini adalah dasar dari bahasa pemrograman mq4.

dalam memproteksi EA cuma ada beberapa script yang paling sering digunakan yaitu:

&& : dan
|| : atau
! : tidak
= : sama

operator pembanding variabel 1 dan 2

== : sama
!= : tidak sama
< : lebih kecil dari
> : lebih besar dari
<= : lebih kecil dari atau sama dengan
>= : lebih besar dari atau sama dengan 


contoh penerapan script:
if (a!=b) return(0);  //jika a tidak sama dengan b maka return (kembali ke loop awal)


Cara memproteksi EA dengan password

pada seting parameter kita sertakan script berikut


extern string Please_Enter_Password = "0"; //ini nantinya akan di isi oleh pengguna EA.
jika password dalam bentuk huruf maka menggunakan variabel string tapi jika dalam bentuk angka maka menggunakan integer.

lalu

int start()
{


{
if (password != "forumsoehoe") //pasword yang akan diberikan kepada user
{
Alert ("Wrong password!");
return (0);


artinya jika password TIDAK SAMA dengan forumsoehoe maka akan ada alert dan return ke awal loop


Cara memproteksi EA khusus untuk demo account

int start()
{

bool demo_account = IsDemo();

if (!demo_account)
{
Alert ("You can not use the program with a real account!");
return(0);

}

artinya jika account TIDAK SAMA dengan akun demo maka akan ada alert dan return ke awal loop



Cara memproteksi EA dengan expiry date

int start()
{

string expire_date = "2017.3.25"; //<-- tahun.bulan.tanggal
datetime e_d = StrToTime(expire_date);

if (CurTime() >= e_d)
{
Alert ("The trial version has been expired!");
return(0);

}

artinya jika waktu sekarang LEBIH DARI atau SAMA DENGAN expiry date maka akan ada alert dan return ke awal loop


Cara memproteksi EA dengan 1 akun number

int start()
{

int hard_accnt = 2096687948; //nomor akun yang akan di lisensikan
int accnt = AccountNumber();

if (accnt != hard_accnt)
{
Alert ("You can not use this account (" + DoubleToStr(accnt,0) + ") with this program!");
return(0);

}

artinya jika nomor account yang di pakai TIDAK SAMA dengan nomor akun yang dilisensikan maka akan ada alert dan return ke awal loop


Cara memproteksi EA dengan banyak akun number

int start()
{

int hard_accnt = 2089143769; //nomor akun yang akan di lisensikan
int hard_accnt2 = 2089143789; //nomor akun yang akan di lisensikan
int hard_accnt3 = 2089143790; //nomor akun yang akan di lisensikan dst
int accnt = AccountNumber();

if (accnt != hard_accnt && accnt != hard_accnt2 && accnt != hard_accnt3)
{
Alert ("You can not use this account (" + DoubleToStr(accnt,0) + ") with this program!");
return(0);

}

artinya jika accnt TIDAK SAMA dengan hard_accnt DAN accnt TIDAK SAMA dengan hard_accnt2 DAN accnt TIDAK SAMA dengan hard_accnt3 ( jika tidak ada yang terpenuhi satu pun) maka akan ada alert dan return ke awal loop. tapi jika salah satu saja dari ketiga syarat itu terpenuhi maka loop akan lanjut.


Cara memproteksi EA dengan Account name
ini adalah proteksi EA yang paling sulit karena nama harus benar alfabetnya dan terkadang aturan nama di berbagai broker tidak sama

int start()
{

string hard_accnt = "Iftahul Halimah"; //nama harus benar alfabetnya. besar kecil huruf berpengaruh
string accnt = AccountName();

if (accnt != hard_accnt)

{
Alert ("You can not use this account name (" + accnt + ") with this program!");
return(0);
}

artinya jika AccountName TIDAK SAMA dengan nama yang dilensikan maka akan ada alert dan return ke awal loop

untuk menghindari kesalahan nama pada broker broker lain maka pembuat EA harus memberikan nama alternatif tambahan karena besar kecil huruf nya pun sangat berpengaruh. hal ini perlu dilakukan karena aturan pada setiap broker berbeda beda.

int start()
{

string hard_accnt = "Iftahul Halimah";
string hard_accnt2 = "IFTAHUL HALIMAH";
string hard_accnt3 =  "iftahul halimah";
string hard_accnt4 = "Halimah Iftahul";
string hard_accnt5 = "HALIMAH IFTAHUL";
string hard_accnt6 =  "halimah iftahul";
string accnt = AccountName();

if (accnt != hard_accnt && accnt != hard_accnt2 && accnt != hard_accnt3 && accnt != hard_accnt4 && accnt != hard_accnt5 && accnt != hard_accnt6)

{
Alert ("You can not use this account name (" + accnt + ") with this program!");
return(0);
}

artinya jika accnt TIDAK SAMA dengan hard_accnt DAN accnt TIDAK SAMA dengan hard_accnt2 DAN accnt TIDAK SAMA dengan hard_accnt3 DAN accnt TIDAK SAMA dengan hard_accnt4 DAN accnt TIDAK SAMA dengan hard_accnt5 DAN accnt TIDAK SAMA dengan hard_accnt6 maka akan ada alert dan return ke awal loop (jadi jika tidak ada satu pun syarat yang terpenuhi maka return tapi jika ada satu saja syarat terpenuhi maka loop akan lanjut)

nah barangkali seperti itulah cara-cara memproteksi EA kita.
Previous
Next Post »