Kita lanjutin deh setelah di part 36 , Kita sudah sedikit membahas tentang indikator IFX_Keltner_Channel.
dari gambaran di part sebelumnya indi ini mempunyai 3 mode yaitu 0,1,2
terus bagimana untuk membaca indikator tersebut supaya bisa dipanggil di dalam Ea .
Pada pembahasan yang dulu kita sudah pernah membahas membuat ea dengan indikator diluar mt4 (custom indikator)
kita coba:
di pembahasan sebelumnya sudah diketahui bahwa indikator ini mempunyai 3
mode dan 3 input parameter , Nah dari situ bisa kita buat custom
indikatornya begini
Nah dengan dibuat custom indi IFX_Keltner ini maka akan mudah diimplementasikan kedalam EA
Rule Ea yang akan kita bikin adalah (untuk mode market trending)
1. Buy ketika harga menembus garis upper
2. sell ketika harga menembus garis lower
3. op dibuat stiap candel ada signal
apalagi ya
itu aja deh
silahkan yang mau bikin bisa dibuat kan EAnya
Nah ini salah satu Ea yang di bikin oleh master "Anie Budi Raharjo " yang udah ngirimkan melalui FB
SLnya dibuat otomatis digaris indinya:
//+------------------------------------------------------------------+
//| IFX_Keltner_Channel.mq4 |
//| Copyright 2013, Annura |
//| |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, Annura"
#property link ""
extern string Nama_EA = "IFX Keltner Channel";
extern int TP = 11;
extern int SL = 20;
extern double Lot = 0.01;
extern int Magic = 69;
extern int Mode_Ma = 0;
extern int Ma_Pareode = 10;
extern int Price_tip = 5;
extern int Max_order = 2;
int signalBuy,signalSell;
double pt,SLb,TPb,SLs,TPs;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
if(Digits==3 || Digits==5) pt=10*Point; else pt=Point;
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
double kfa = iCustom(Symbol(),0,"IFX_Keltner_Channel",Ma_Pareode,Mode_Ma,Price_tip,0,0);
double kfm = iCustom(Symbol(),0,"IFX_Keltner_Channel",Ma_Pareode,Mode_Ma,Price_tip,1,0);
double kfb = iCustom(Symbol(),0,"IFX_Keltner_Channel",Ma_Pareode,Mode_Ma,Price_tip,2,0);
if(Open[1]<kfa && Close[1]>kfa && Open[0]>kfa)
{
signalBuy=1;
}
if(Open[1]>kfb && Close[1]<kfb && Open[0]<kfb)
{
signalSell=1;
}
SLb=kfb;
SLs=kfa;
if(TP==0)TPb=0;else TPb=Ask+TP*pt;
if(TP==0)TPs=0;else TPs=Bid-TP*pt;
if(signalBuy==1 && JumlahOrder(0)<Max_order)
{
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,SLb,TPb,Nama_EA,Magic,0,Blue);
}
if(signalSell==1 && JumlahOrder(1)<Max_order)
{
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,SLs,TPs,Nama_EA,Magic,0,Red);
}
//----
return(0);
}
//+------------------------------------------------------------------+
int JumlahOrder(int Tipe)
{
int Total = 0;
for(int i=0; i<OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic || OrderType()!=Tipe)
{
continue;
}
Total++;
}
return(Total);
}
==============
*copas dari http://jumforex.blogspot.com
Rabu, 30 April 2014
Belajar Membuat EA Sederhana 36 (terapan indikator IFX_Keltner_Channel)
Salam sukses semuanya
Kita lanjutkan lagi part 36 setelah pada sebelumnya 35 kita suda memabahas sedikit tentang proteksi EA.
Pada kesempatan kali ini kita akan membuat EA scalping dengan menggunakan indikator IFX_Kletner_Channel . Indikator ini bawaan mt4 untuk broker instaforex
Ini akan menambah wawasan bagi temen2 yang masih bingung menerapkan coding bila indikatornya tidak ada di standart mt4.
Nah ini tampilan indikator IFX_Keltner_Channel , sebenarnya sih mirip dengan indikator anvelope cuma ini terdiri dari 3 garis atas, tengah dan bawah
Nah untuk memasang indikator ini di chart maka silahkan cek di mt4...
Nah setelah itu akan muncul parametenya ada 3 macem inputan
Nah kaloudah tampil di Mt4 kita akan lihat buffernya , tekan CTRL D maka akan tampil
Maka akan tampil 3 nilai didalam modenya , untuk mengetahui posisinya maka bisa digunakan pointer untuk menunjuk pada garis indinya dan akan sesuai dengan nilainya
Dari pengamatan maka di peroleh garis atas (upper) di mode 0, garis tengah mode 1, dan garis bawah (lowwer) mode 2.
Loh aterus gunanya untuk apa ya ?
Ini digunakan untuk membuat coding memanggil indikator tersebut!
Tentu masih ingat pada part sebelumnya pernah di bahas tentang coding memanggil indikator yang bukan standart yang ada pada mt4....
gitu dulu deh kita lanjut pas santai...
sabar dulu ya
atau ada yang mau coding juga boleh nati di tampilkan disini
*copas dari http://jumforex.blogspot.com
Kita lanjutkan lagi part 36 setelah pada sebelumnya 35 kita suda memabahas sedikit tentang proteksi EA.
Pada kesempatan kali ini kita akan membuat EA scalping dengan menggunakan indikator IFX_Kletner_Channel . Indikator ini bawaan mt4 untuk broker instaforex
Ini akan menambah wawasan bagi temen2 yang masih bingung menerapkan coding bila indikatornya tidak ada di standart mt4.
Nah ini tampilan indikator IFX_Keltner_Channel , sebenarnya sih mirip dengan indikator anvelope cuma ini terdiri dari 3 garis atas, tengah dan bawah
Nah untuk memasang indikator ini di chart maka silahkan cek di mt4...
Nah setelah itu akan muncul parametenya ada 3 macem inputan
Nah kaloudah tampil di Mt4 kita akan lihat buffernya , tekan CTRL D maka akan tampil
Maka akan tampil 3 nilai didalam modenya , untuk mengetahui posisinya maka bisa digunakan pointer untuk menunjuk pada garis indinya dan akan sesuai dengan nilainya
Dari pengamatan maka di peroleh garis atas (upper) di mode 0, garis tengah mode 1, dan garis bawah (lowwer) mode 2.
Loh aterus gunanya untuk apa ya ?
Ini digunakan untuk membuat coding memanggil indikator tersebut!
Tentu masih ingat pada part sebelumnya pernah di bahas tentang coding memanggil indikator yang bukan standart yang ada pada mt4....
gitu dulu deh kita lanjut pas santai...
sabar dulu ya
atau ada yang mau coding juga boleh nati di tampilkan disini
*copas dari http://jumforex.blogspot.com
Belajar Membuat EA Sederhana 35 (Proteksi EA 3)
Salam profit semuanya
Di Part sebelum (part 33 dan 34 ) kita sudah bahas proteksi Ea dengan account demo dan account khusus
Nah kali ini saya akan share sebuah Ea saya yang cocok untuk menantang news dan juga pas untuk kondisi market yang trending ...
Problemnya EA ini di proteksi dengan menggunakan account demo dan mungkin sedikit dibuat agak rumit ...meski sebenarnya sih gak rumit2 amat...(-___-)
Ini akan menambah wawasan bagi temen2 yang ingin memproteksi EAnya............
Oke langsung aja deh ini penampakan EAnya
//+-----------------------------------------------------------------------------------------+
//| EA Jum+Profit+v3 |
//| gifaesa@yahoo.com |
//| http://JumForex.blogspot.com |
//+------------------------------------------------------------------+
//v3 (16-4-2013)
#property copyright "JumForex.blogspot.com"
#property link "Gifaesa@yahoo.com"
extern string Nama_EA = "Jum+Profit+v3";
extern bool Close_Panic = false;
extern string Hari_Trade = "=>Sesuai selera::";
extern bool Senin = false;
extern bool Selasa = true;
extern bool Rabu = true;
extern bool Kamis = true;
extern bool Jumat = true;
extern string Jam_server = "Set sesuai selera";
extern int Mulai_Jam = 9;
extern int Akhir_Jam = 19;
extern string Sesuaikan_risk = "Set sesuai selera";
extern bool Compound_lot = true;
extern double Manage_Balance = 130;
extern bool Buy = true;
extern bool Sell = true;
extern int TP = 35;
extern int SL = 27;
extern double Lots = 0.01;
extern int Max_level = 10;
extern int Magic = 69;
double slbx,tpbx,slsx,tpsx,slb,tpb,sls,tps,pt,lslb,ltpb,x,slbk,tpbk,slsk,tpsk;int s,p,pp;string k="JumProFit",kk="JumpRoFit";
int init(){p=Magic;pp=Magic+99;if(Digits==3 || Digits==5) pt=10*Point;else pt=Point;return(0);}
int deinit(){ return(0); }
int start(){label();if(!IsDemo()){Alert("Maaf bos hanya untuk demo");return(0);}
{if(Close_Panic){c(k,0);c(k,1);c(k,4);c(k,5);c(kk,0);c(kk,1);c(kk,4);c(kk,5); return(0); }}
if(IsDemo()){if(Compound_lot ) x=Lots* MathFloor(AccountBalance() / Manage_Balance); else x=Lots;}else x=MarketInfo(Symbol(), MODE_MAXLOT);
if(j(k,0,0)==0 && j(k,0,5)==1){c(k,5);}if(j(k,0,1)==0 && j(k,0,4)==1){c(k,4);}if(j(kk,0,0)==0 && j(kk,0,5)==1){c(kk,5);}if(j(kk,0,1)==0 && j(kk,0,4)==1){c(kk,4);}
double as = j(k,3,1); double bi = j(k,3,0);double ask = j(kk,3,1); double bik = j(kk,3,0);
if(SL==0){slb=0;sls=0;slbx=0;slsx=0;}else if(SL>0){slbk=ask-SL*pt;slsk=bik+SL*pt; slb=as-SL*pt;sls=bi+SL*pt;slbx=Ask-SL*pt;slsx=Bid+SL*pt;}
if(TP==0){tpb=0;tps=0;tpbx=0;tpsx=0;}else if(TP>0){tpbk=ask+TP*pt;tpsk=bik-TP*pt;tpb=as+TP*pt;tps=bi-TP*pt;tpbx=Ask+TP*pt;tpsx=Bid-TP*pt;}
if( Jam()==1 && !Close_Panic && tday()==1 && IsDemo()){
if(Buy && ju()==0) OrderSend(Symbol(),0,NR(x),Ask,3,slbx, tpbx,k,p,0,Blue);
if(Sell&& jum()==0) OrderSend(Symbol(),1,NR(x),Bid,3,slsx, tpsx,kk,pp,0,Red);
}
if(j(k,2,0)+j(k,2,1)-p < Max_level && IsDemo()){
if(j(k,0,1)==1 && j(k,0,4)==0) {OrderSend(Symbol(),4,(j(k,1,1)),as,3,slb, tpb,k,j(k,2,1)+1,0,Blue);}
if(j(k,0,0)==1 && j(k,0,5)==0) {OrderSend(Symbol(),5,(j(k,1,0)),bi,3,sls, tps,k,j(k,2,0)+1,0,Red);}
}
if(j(kk,2,0)+j(kk,2,1)-pp < Max_level && IsDemo()){
if(j(kk,0,1)==1 && j(kk,0,4)==0) {OrderSend(Symbol(),4,(j(kk,1,1)),ask,3,slbk, tpbk,kk,j(kk,2,1)+1,0,Blue);}
if(j(kk,0,0)==1 && j(kk,0,5)==0) {OrderSend(Symbol(),5,(j(kk,1,0)),bik,3,slsk, tpsk,kk,j(kk,2,0)+1,0,Red);}
}
return(0);
}
//+------------------------------------------------------------------+
double j(string m,int n, int tipe){double t=0;for(int i=0; i<OrdersTotal(); i++){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES);if(OrderSymbol()!=Symbol() || OrderComment()!=m || OrderType()!=tipe) continue;if(IsDemo()){if(n==0)t++;if(n==1)t=OrderLots()*2;if(n==2)t=OrderMagicNumber(); if(n==3)t=OrderStopLoss(); }}return(t);}
double ju(){return(j(k,0,0)+j(k,0,1)+j(k,0,2)+j(k,0,3)+j(k,0,4)+j(k,0,5));}
double jum(){return(j(kk,0,0)+j(kk,0,1)+j(kk,0,2)+j(kk,0,3)+j(kk,0,4)+j(kk,0,5));}
double NR(double thelot){double maxlots = MarketInfo(Symbol(), MODE_MAXLOT), minilot = MarketInfo(Symbol(), MODE_MINLOT),lstep = MarketInfo(Symbol(), MODE_LOTSTEP); double lots = lstep * NormalizeDouble(thelot / lstep, 0); lots = MathMax(MathMin(maxlots, lots), minilot); return (lots);}
int Jam(){ bool trade = false;if(Mulai_Jam > Akhir_Jam){ if (Hour() >= Mulai_Jam || Hour() < Akhir_Jam) trade = true;} else if (Hour() >= Mulai_Jam && Hour() < Akhir_Jam) trade = true; return (trade);}
int tday(){int trd=0;if(Senin && DayOfWeek()==1) trd=1;if(Selasa && DayOfWeek()==2) trd=1;if(Rabu && DayOfWeek()==3) trd=1;if(Kamis && DayOfWeek()==4) trd=1;if(Jumat && DayOfWeek()==5) trd=1;return(trd);}
void c(string m,int t){for (int i = OrdersTotal() - 1; i >= 0; i--) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES);if (OrderSymbol() != Symbol() || OrderComment()!=m|| OrderType()!=t) continue;if(IsDemo()){if (OrderType() > 1) OrderDelete(OrderTicket());if (OrderType() == 0) OrderClose(OrderTicket(), OrderLots(), Bid, 3, CLR_NONE);if (OrderType() == 1)OrderClose(OrderTicket(), OrderLots(), Ask, 3, CLR_NONE); }}}
double f(string m,int t){ double dp = 0;int i; for (i = 0; i < OrdersTotal(); i++) {OrderSelect(i, SELECT_BY_POS, MODE_TRADES);if (OrderSymbol() != Symbol() || OrderComment()!=m|| t!=OrderType()) continue;if(IsDemo()){ dp += OrderProfit(); }} return(dp);}
void label(){int x,y;if((j(k,0,0)==1 && j(k,2,0)==p)||(ju()==0)) x=0; else x=j(k,2,0)+j(k,2,1)-p;if((j(kk,0,1)==1 && j(kk,2,1)==p)||(jum()==0)) y=0; else y=j(kk,2,0)+j(kk,2,1)-pp;
Comment("\n ",
"\n ",
"\n ------------------------------------------------",
"\n :: =>+Jum+Profit+v3<=",
"\n :: =>JumForex.blogspot.com<=",
"\n ------------------------------------------------",
"\n :: Spread : ", MarketInfo(Symbol(), MODE_SPREAD),
"\n :: Leverage : 1 : ", AccountLeverage(),
"\n :: Equity : ", AccountEquity(),
"\n :: Jam Server :", Hour(), ":", Minute(),
"\n ------------------------------------------------",
"\n :: Floting buy : ",f(k,0)+f(kk,0),"\n :: Floting sell : ",f(k,1)+f(kk,1),
"\n :: Level pro : ",x, "\n :: Level Fit : ",y,
"\n ------------------------------------------------",
"\n :: >>By: Jum69<<",
"\n ------------------------------------------------");
}
================
Nah oke deh silahkan dicopas dan di coba >>>>>bagi yang mau di riel account ya tantangan sih harus bisa menghilangkan proteksi account demonya
Untuk memastikan proteksinya telah hilang silahkan di BT di account demo dan accoun riel kalo hasilnya sama berarti sudah berhasil
Bagi yang udah berhasil kasih komen yah!
Selamat berkreasi
*copas dari http://jumforex.blogspot.com
Di Part sebelum (part 33 dan 34 ) kita sudah bahas proteksi Ea dengan account demo dan account khusus
Nah kali ini saya akan share sebuah Ea saya yang cocok untuk menantang news dan juga pas untuk kondisi market yang trending ...
Problemnya EA ini di proteksi dengan menggunakan account demo dan mungkin sedikit dibuat agak rumit ...meski sebenarnya sih gak rumit2 amat...(-___-)
Ini akan menambah wawasan bagi temen2 yang ingin memproteksi EAnya............
Oke langsung aja deh ini penampakan EAnya
//+-----------------------------------------------------------------------------------------+
//| EA Jum+Profit+v3 |
//| gifaesa@yahoo.com |
//| http://JumForex.blogspot.com |
//+------------------------------------------------------------------+
//v3 (16-4-2013)
#property copyright "JumForex.blogspot.com"
#property link "Gifaesa@yahoo.com"
extern string Nama_EA = "Jum+Profit+v3";
extern bool Close_Panic = false;
extern string Hari_Trade = "=>Sesuai selera::";
extern bool Senin = false;
extern bool Selasa = true;
extern bool Rabu = true;
extern bool Kamis = true;
extern bool Jumat = true;
extern string Jam_server = "Set sesuai selera";
extern int Mulai_Jam = 9;
extern int Akhir_Jam = 19;
extern string Sesuaikan_risk = "Set sesuai selera";
extern bool Compound_lot = true;
extern double Manage_Balance = 130;
extern bool Buy = true;
extern bool Sell = true;
extern int TP = 35;
extern int SL = 27;
extern double Lots = 0.01;
extern int Max_level = 10;
extern int Magic = 69;
double slbx,tpbx,slsx,tpsx,slb,tpb,sls,tps,pt,lslb,ltpb,x,slbk,tpbk,slsk,tpsk;int s,p,pp;string k="JumProFit",kk="JumpRoFit";
int init(){p=Magic;pp=Magic+99;if(Digits==3 || Digits==5) pt=10*Point;else pt=Point;return(0);}
int deinit(){ return(0); }
int start(){label();if(!IsDemo()){Alert("Maaf bos hanya untuk demo");return(0);}
{if(Close_Panic){c(k,0);c(k,1);c(k,4);c(k,5);c(kk,0);c(kk,1);c(kk,4);c(kk,5); return(0); }}
if(IsDemo()){if(Compound_lot ) x=Lots* MathFloor(AccountBalance() / Manage_Balance); else x=Lots;}else x=MarketInfo(Symbol(), MODE_MAXLOT);
if(j(k,0,0)==0 && j(k,0,5)==1){c(k,5);}if(j(k,0,1)==0 && j(k,0,4)==1){c(k,4);}if(j(kk,0,0)==0 && j(kk,0,5)==1){c(kk,5);}if(j(kk,0,1)==0 && j(kk,0,4)==1){c(kk,4);}
double as = j(k,3,1); double bi = j(k,3,0);double ask = j(kk,3,1); double bik = j(kk,3,0);
if(SL==0){slb=0;sls=0;slbx=0;slsx=0;}else if(SL>0){slbk=ask-SL*pt;slsk=bik+SL*pt; slb=as-SL*pt;sls=bi+SL*pt;slbx=Ask-SL*pt;slsx=Bid+SL*pt;}
if(TP==0){tpb=0;tps=0;tpbx=0;tpsx=0;}else if(TP>0){tpbk=ask+TP*pt;tpsk=bik-TP*pt;tpb=as+TP*pt;tps=bi-TP*pt;tpbx=Ask+TP*pt;tpsx=Bid-TP*pt;}
if( Jam()==1 && !Close_Panic && tday()==1 && IsDemo()){
if(Buy && ju()==0) OrderSend(Symbol(),0,NR(x),Ask,3,slbx, tpbx,k,p,0,Blue);
if(Sell&& jum()==0) OrderSend(Symbol(),1,NR(x),Bid,3,slsx, tpsx,kk,pp,0,Red);
}
if(j(k,2,0)+j(k,2,1)-p < Max_level && IsDemo()){
if(j(k,0,1)==1 && j(k,0,4)==0) {OrderSend(Symbol(),4,(j(k,1,1)),as,3,slb, tpb,k,j(k,2,1)+1,0,Blue);}
if(j(k,0,0)==1 && j(k,0,5)==0) {OrderSend(Symbol(),5,(j(k,1,0)),bi,3,sls, tps,k,j(k,2,0)+1,0,Red);}
}
if(j(kk,2,0)+j(kk,2,1)-pp < Max_level && IsDemo()){
if(j(kk,0,1)==1 && j(kk,0,4)==0) {OrderSend(Symbol(),4,(j(kk,1,1)),ask,3,slbk, tpbk,kk,j(kk,2,1)+1,0,Blue);}
if(j(kk,0,0)==1 && j(kk,0,5)==0) {OrderSend(Symbol(),5,(j(kk,1,0)),bik,3,slsk, tpsk,kk,j(kk,2,0)+1,0,Red);}
}
return(0);
}
//+------------------------------------------------------------------+
double j(string m,int n, int tipe){double t=0;for(int i=0; i<OrdersTotal(); i++){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES);if(OrderSymbol()!=Symbol() || OrderComment()!=m || OrderType()!=tipe) continue;if(IsDemo()){if(n==0)t++;if(n==1)t=OrderLots()*2;if(n==2)t=OrderMagicNumber(); if(n==3)t=OrderStopLoss(); }}return(t);}
double ju(){return(j(k,0,0)+j(k,0,1)+j(k,0,2)+j(k,0,3)+j(k,0,4)+j(k,0,5));}
double jum(){return(j(kk,0,0)+j(kk,0,1)+j(kk,0,2)+j(kk,0,3)+j(kk,0,4)+j(kk,0,5));}
double NR(double thelot){double maxlots = MarketInfo(Symbol(), MODE_MAXLOT), minilot = MarketInfo(Symbol(), MODE_MINLOT),lstep = MarketInfo(Symbol(), MODE_LOTSTEP); double lots = lstep * NormalizeDouble(thelot / lstep, 0); lots = MathMax(MathMin(maxlots, lots), minilot); return (lots);}
int Jam(){ bool trade = false;if(Mulai_Jam > Akhir_Jam){ if (Hour() >= Mulai_Jam || Hour() < Akhir_Jam) trade = true;} else if (Hour() >= Mulai_Jam && Hour() < Akhir_Jam) trade = true; return (trade);}
int tday(){int trd=0;if(Senin && DayOfWeek()==1) trd=1;if(Selasa && DayOfWeek()==2) trd=1;if(Rabu && DayOfWeek()==3) trd=1;if(Kamis && DayOfWeek()==4) trd=1;if(Jumat && DayOfWeek()==5) trd=1;return(trd);}
void c(string m,int t){for (int i = OrdersTotal() - 1; i >= 0; i--) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES);if (OrderSymbol() != Symbol() || OrderComment()!=m|| OrderType()!=t) continue;if(IsDemo()){if (OrderType() > 1) OrderDelete(OrderTicket());if (OrderType() == 0) OrderClose(OrderTicket(), OrderLots(), Bid, 3, CLR_NONE);if (OrderType() == 1)OrderClose(OrderTicket(), OrderLots(), Ask, 3, CLR_NONE); }}}
double f(string m,int t){ double dp = 0;int i; for (i = 0; i < OrdersTotal(); i++) {OrderSelect(i, SELECT_BY_POS, MODE_TRADES);if (OrderSymbol() != Symbol() || OrderComment()!=m|| t!=OrderType()) continue;if(IsDemo()){ dp += OrderProfit(); }} return(dp);}
void label(){int x,y;if((j(k,0,0)==1 && j(k,2,0)==p)||(ju()==0)) x=0; else x=j(k,2,0)+j(k,2,1)-p;if((j(kk,0,1)==1 && j(kk,2,1)==p)||(jum()==0)) y=0; else y=j(kk,2,0)+j(kk,2,1)-pp;
Comment("\n ",
"\n ",
"\n ------------------------------------------------",
"\n :: =>+Jum+Profit+v3<=",
"\n :: =>JumForex.blogspot.com<=",
"\n ------------------------------------------------",
"\n :: Spread : ", MarketInfo(Symbol(), MODE_SPREAD),
"\n :: Leverage : 1 : ", AccountLeverage(),
"\n :: Equity : ", AccountEquity(),
"\n :: Jam Server :", Hour(), ":", Minute(),
"\n ------------------------------------------------",
"\n :: Floting buy : ",f(k,0)+f(kk,0),"\n :: Floting sell : ",f(k,1)+f(kk,1),
"\n :: Level pro : ",x, "\n :: Level Fit : ",y,
"\n ------------------------------------------------",
"\n :: >>By: Jum69<<",
"\n ------------------------------------------------");
}
================
Nah oke deh silahkan dicopas dan di coba >>>>>bagi yang mau di riel account ya tantangan sih harus bisa menghilangkan proteksi account demonya
Untuk memastikan proteksinya telah hilang silahkan di BT di account demo dan accoun riel kalo hasilnya sama berarti sudah berhasil
Bagi yang udah berhasil kasih komen yah!
Selamat berkreasi
*copas dari http://jumforex.blogspot.com
Belajar Membuat EA Sederhana 34 (Proteksi EA 2)
Kita lanjutin deh hee
Setelah pada part sebelumnya kita sudah bahas proteksi hanya untuk account demo
Kali ini kita bahas proteksi untuk account number khusus, sehingga Ea yang di proteksi dengan ini akan hanya dapat digunakan pada nomor account yang sudah ditetapkan.
Nah sebenarnya proteksi ini hanya pangaman account saja tidak berarti proteksi ini tidak bisa dirubah...
Sofware terus berkembang , file ex4 juga bisa di ubah lagi ke file mql4 melalui sofware decompile sehingga proteksi hanyalah bersifat sementara. Ketika kita share pada orang lain tentu akan mengalami bahwasanya EA kita suatu ketika juga akan di bongkar oleh trader lain.
Ok bagian yang perlu ditambahakan sama mirip dengan pada protek demo pada part 33
int No_accnya=0000;// ganti nomor account nya disini
if(AccountNumber()!=No_accnya){Alert("maaf bOSS no account anda gak cocok ..Kacian deh Loh"); return(0); }
Nah ini yang perlu disuntik di bawah int start()
heee kita coba suntik ke EA di part 25
//+------------------------------------------------------------------+
//| Jum+switch+.mq4 |
//| gifaesa@yahoo.com |
//| http://JumForex.blogspot.com |
//+------------------------------------------------------------------+
#property copyright "JumForex.blogspot.com"
#property link "Gifaesa@yahoo.com"
extern string Target_Equety_ = "Harus lebih besar dari Equety+";
extern double Target_Equety = 1000;
extern int Mulai_Jam = 0;
extern int Akhir_Jam = 20;
extern int TP = 30;
extern int SL = 20;
extern double Lots = 0.01;
extern int Max_order = 12;
extern double DiMarti = 2;
extern int Magic = 69;
string Nama_EA = "Jum+SwitchFractals+";
double slb,tpb,sls,tps,pt,bal;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
bal= AccountBalance();
if(Digits==3 || Digits==5) pt=10*Point; else pt=Point;
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete("j");
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int No_accnya=0000;// ganti nomor account nya disini
if(AccountNumber()!=No_accnya){Alert("maaf bOSS no account anda gak cocok ..Kacian deh Loh"); return(0); }
if(SL==0||TP==0){Alert(" Isi dulu TP Dan SLnya"); return(0);}
label();
if(Target_Equety<AccountEquity()) {
closeall(0);
closeall(1);
Alert("Cek Target_Equetynya salah ");
return(0);
}
for(int d=0; d< Bars ; d++){
double up=iFractals(Symbol(),0,MODE_UPPER,d);
if(up!=0 ) break;}
for(int e=0; e< Bars ; e++){
double lo=iFractals(Symbol(),0,MODE_LOWER,e);
if( lo!=0) break;}
int signal;
if(Bid > up) signal=1;
if(Ask < lo)signal=2;
if(Jam_trade()==1 && DayOfWeek()>1){
if((trad(1)>0) || (trad(1)==0)){
if(jumlahorder(0)==0 && jumlahorder(1)==0){
if(signal==1) {OrderSend(Symbol(),OP_BUY,NR(Lots),Ask,3,Ask-SL*pt, Ask+TP*pt,Nama_EA,Magic,0,Blue);}
if(signal==2) {OrderSend(Symbol(),OP_SELL,NR(Lots),Bid,3,Bid+SL*pt, Bid-TP*pt,Nama_EA,Magic,0,Red);}
}
}
}
if(jumlahorder(0)==0 && jumlahorder(1)==0 && trad(3)<Max_order+Magic ){
if(trad(1)<0 && trad(2)==1) {OrderSend(Symbol(),OP_BUY,xlot(),Ask,3,Ask-SL*pt, Ask+TP*pt,Nama_EA,trad(3)+1,0,Blue); }
if(trad(1)<0 && trad(2)==0) {OrderSend(Symbol(),OP_SELL,xlot(),Bid,3,Bid+SL*pt, Bid-TP*pt,Nama_EA,trad(3)+1,0,Red); }
}
return(0);
}
//+------------------------------------------------------------------+
int Jam_trade()
{
bool trade = false;
if(Mulai_Jam > Akhir_Jam){
if (Hour() >= Mulai_Jam || Hour() < Akhir_Jam) trade = true;
} else
if (Hour() >= Mulai_Jam && Hour() < Akhir_Jam) trade = true;
return (trade);
}
int jumlahorder( int tipe)
{
int total=0;
for(int i=0; i<OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderComment() != Nama_EA || OrderType()!=tipe) continue;
total++;
}
return(total);
}
double NR(double thelot)
{
double maxlots = MarketInfo(Symbol(), MODE_MAXLOT),
minilot = MarketInfo(Symbol(), MODE_MINLOT),
lstep = MarketInfo(Symbol(), MODE_LOTSTEP);
double lots = lstep * NormalizeDouble(thelot / lstep, 0);
lots = MathMax(MathMin(maxlots, lots), minilot);
return (lots);
}
void closeall(int m)
{
for (int i = OrdersTotal() - 1; i >= 0; i--) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderComment() != Nama_EA || OrderType()!=m) continue;
if (OrderType() > 1) OrderDelete(OrderTicket());
else {
if (OrderType() == 0) OrderClose(OrderTicket(), OrderLots(), Bid, 3, CLR_NONE);
else OrderClose(OrderTicket(), OrderLots(), Ask, 3, CLR_NONE);
}
}
}
double money()
{
double dp = 0;
int i;
for (i = 0; i < OrdersTotal(); i++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderComment() != Nama_EA) continue;
dp += OrderProfit();
}
return(dp);
}
double trad(int m)
{
double pr,op;
for (int i = 0; i < OrdersHistoryTotal(); i++) {
if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
if (OrderSymbol() != Symbol()/* || OrderComment() != Nama_EA*/) continue;
if(m==1)pr=OrderProfit();
if(m==2)pr=OrderType();
if(m==3)pr=OrderMagicNumber();
}
return(pr);
}
double xlot()
{
double ylot,dlot;
for (int i = 0; i < OrdersHistoryTotal(); i++) {
if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
if (OrderSymbol() != Symbol()/* || OrderComment() != Nama_EA */) continue;
dlot=OrderLots();
}
ylot=NR(dlot*DiMarti);
return(ylot);
}
void label()
{
ObjectCreate("j",OBJ_LABEL,0,0,0);
ObjectSet("j",OBJPROP_CORNER,4);
ObjectSet("j",OBJPROP_XDISTANCE,10);
ObjectSet("j",OBJPROP_YDISTANCE,10);
ObjectSetText("j","Jum+switchFractals from : JumForex.blogspot.com ",21,"Mistral",Aqua);
Comment("\n ",
"\n ",
"\n ------------------------------------------------",
"\n :: Spread : ", MarketInfo(Symbol(), MODE_SPREAD),
"\n :: Leverage : 1 : ", AccountLeverage(),
"\n :: Jam Server :", Hour(), ":", Minute(),
"\n ------------------------------------------------",
"\n :: Equity sekarang : ", AccountEquity()," $",
"\n :: Target_Equety : ", Target_Equety ," $",
"\n ------------------------------------------------",
"\n :: Posisi floting :",money()," $",
"\n :: Level :",trad(3)-Magic,
"\n ------------------------------------------------",
"\n :: >>By: Jum69<<",
"\n ------------------------------------------------");
//+------------------------------------------------------------------+
}
================
He semoga menambah wawasan deh
Salam profit All
*copas dari http://jumforex.blogspot.com
Setelah pada part sebelumnya kita sudah bahas proteksi hanya untuk account demo
Kali ini kita bahas proteksi untuk account number khusus, sehingga Ea yang di proteksi dengan ini akan hanya dapat digunakan pada nomor account yang sudah ditetapkan.
Nah sebenarnya proteksi ini hanya pangaman account saja tidak berarti proteksi ini tidak bisa dirubah...
Sofware terus berkembang , file ex4 juga bisa di ubah lagi ke file mql4 melalui sofware decompile sehingga proteksi hanyalah bersifat sementara. Ketika kita share pada orang lain tentu akan mengalami bahwasanya EA kita suatu ketika juga akan di bongkar oleh trader lain.
Ok bagian yang perlu ditambahakan sama mirip dengan pada protek demo pada part 33
int No_accnya=0000;// ganti nomor account nya disini
if(AccountNumber()!=No_accnya){Alert("maaf bOSS no account anda gak cocok ..Kacian deh Loh"); return(0); }
Nah ini yang perlu disuntik di bawah int start()
heee kita coba suntik ke EA di part 25
//+------------------------------------------------------------------+
//| Jum+switch+.mq4 |
//| gifaesa@yahoo.com |
//| http://JumForex.blogspot.com |
//+------------------------------------------------------------------+
#property copyright "JumForex.blogspot.com"
#property link "Gifaesa@yahoo.com"
extern string Target_Equety_ = "Harus lebih besar dari Equety+";
extern double Target_Equety = 1000;
extern int Mulai_Jam = 0;
extern int Akhir_Jam = 20;
extern int TP = 30;
extern int SL = 20;
extern double Lots = 0.01;
extern int Max_order = 12;
extern double DiMarti = 2;
extern int Magic = 69;
string Nama_EA = "Jum+SwitchFractals+";
double slb,tpb,sls,tps,pt,bal;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
bal= AccountBalance();
if(Digits==3 || Digits==5) pt=10*Point; else pt=Point;
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete("j");
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int No_accnya=0000;// ganti nomor account nya disini
if(AccountNumber()!=No_accnya){Alert("maaf bOSS no account anda gak cocok ..Kacian deh Loh"); return(0); }
if(SL==0||TP==0){Alert(" Isi dulu TP Dan SLnya"); return(0);}
label();
if(Target_Equety<AccountEquity()) {
closeall(0);
closeall(1);
Alert("Cek Target_Equetynya salah ");
return(0);
}
for(int d=0; d< Bars ; d++){
double up=iFractals(Symbol(),0,MODE_UPPER,d);
if(up!=0 ) break;}
for(int e=0; e< Bars ; e++){
double lo=iFractals(Symbol(),0,MODE_LOWER,e);
if( lo!=0) break;}
int signal;
if(Bid > up) signal=1;
if(Ask < lo)signal=2;
if(Jam_trade()==1 && DayOfWeek()>1){
if((trad(1)>0) || (trad(1)==0)){
if(jumlahorder(0)==0 && jumlahorder(1)==0){
if(signal==1) {OrderSend(Symbol(),OP_BUY,NR(Lots),Ask,3,Ask-SL*pt, Ask+TP*pt,Nama_EA,Magic,0,Blue);}
if(signal==2) {OrderSend(Symbol(),OP_SELL,NR(Lots),Bid,3,Bid+SL*pt, Bid-TP*pt,Nama_EA,Magic,0,Red);}
}
}
}
if(jumlahorder(0)==0 && jumlahorder(1)==0 && trad(3)<Max_order+Magic ){
if(trad(1)<0 && trad(2)==1) {OrderSend(Symbol(),OP_BUY,xlot(),Ask,3,Ask-SL*pt, Ask+TP*pt,Nama_EA,trad(3)+1,0,Blue); }
if(trad(1)<0 && trad(2)==0) {OrderSend(Symbol(),OP_SELL,xlot(),Bid,3,Bid+SL*pt, Bid-TP*pt,Nama_EA,trad(3)+1,0,Red); }
}
return(0);
}
//+------------------------------------------------------------------+
int Jam_trade()
{
bool trade = false;
if(Mulai_Jam > Akhir_Jam){
if (Hour() >= Mulai_Jam || Hour() < Akhir_Jam) trade = true;
} else
if (Hour() >= Mulai_Jam && Hour() < Akhir_Jam) trade = true;
return (trade);
}
int jumlahorder( int tipe)
{
int total=0;
for(int i=0; i<OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderComment() != Nama_EA || OrderType()!=tipe) continue;
total++;
}
return(total);
}
double NR(double thelot)
{
double maxlots = MarketInfo(Symbol(), MODE_MAXLOT),
minilot = MarketInfo(Symbol(), MODE_MINLOT),
lstep = MarketInfo(Symbol(), MODE_LOTSTEP);
double lots = lstep * NormalizeDouble(thelot / lstep, 0);
lots = MathMax(MathMin(maxlots, lots), minilot);
return (lots);
}
void closeall(int m)
{
for (int i = OrdersTotal() - 1; i >= 0; i--) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderComment() != Nama_EA || OrderType()!=m) continue;
if (OrderType() > 1) OrderDelete(OrderTicket());
else {
if (OrderType() == 0) OrderClose(OrderTicket(), OrderLots(), Bid, 3, CLR_NONE);
else OrderClose(OrderTicket(), OrderLots(), Ask, 3, CLR_NONE);
}
}
}
double money()
{
double dp = 0;
int i;
for (i = 0; i < OrdersTotal(); i++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderComment() != Nama_EA) continue;
dp += OrderProfit();
}
return(dp);
}
double trad(int m)
{
double pr,op;
for (int i = 0; i < OrdersHistoryTotal(); i++) {
if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
if (OrderSymbol() != Symbol()/* || OrderComment() != Nama_EA*/) continue;
if(m==1)pr=OrderProfit();
if(m==2)pr=OrderType();
if(m==3)pr=OrderMagicNumber();
}
return(pr);
}
double xlot()
{
double ylot,dlot;
for (int i = 0; i < OrdersHistoryTotal(); i++) {
if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
if (OrderSymbol() != Symbol()/* || OrderComment() != Nama_EA */) continue;
dlot=OrderLots();
}
ylot=NR(dlot*DiMarti);
return(ylot);
}
void label()
{
ObjectCreate("j",OBJ_LABEL,0,0,0);
ObjectSet("j",OBJPROP_CORNER,4);
ObjectSet("j",OBJPROP_XDISTANCE,10);
ObjectSet("j",OBJPROP_YDISTANCE,10);
ObjectSetText("j","Jum+switchFractals from : JumForex.blogspot.com ",21,"Mistral",Aqua);
Comment("\n ",
"\n ",
"\n ------------------------------------------------",
"\n :: Spread : ", MarketInfo(Symbol(), MODE_SPREAD),
"\n :: Leverage : 1 : ", AccountLeverage(),
"\n :: Jam Server :", Hour(), ":", Minute(),
"\n ------------------------------------------------",
"\n :: Equity sekarang : ", AccountEquity()," $",
"\n :: Target_Equety : ", Target_Equety ," $",
"\n ------------------------------------------------",
"\n :: Posisi floting :",money()," $",
"\n :: Level :",trad(3)-Magic,
"\n ------------------------------------------------",
"\n :: >>By: Jum69<<",
"\n ------------------------------------------------");
//+------------------------------------------------------------------+
}
================
He semoga menambah wawasan deh
Salam profit All
*copas dari http://jumforex.blogspot.com
Belajar Membuat EA Sederhana 33 (Proteksi EA)
Salam Profit semuanya!
Sepertinya udah banyak sih share coding EA sampai part 32.......
Nah kali ini kita akan belajar tentang proteksi EA ....karena ada bebepa temen di Ym yang minta di ajari proteksi EA ...............
Ada banyak cara untuk proteksi EA ataupun script dan Indikator al:
Untuk memproteksi supaya EA hanya bisa digunakandi account demo disini kita tambahkan pembaca account demo yaitu: IsDemo()
Nah dari sini kita kembangkan dalam sebuah operasi
if(!IsDemo()){Alert("Maaf bos hanya untuk demo");return(0);}
Nah , if(!IsDemo()){ ini artinya bila tidak demo maka blabla.............yaitu Alert("Maaf bos hanya untuk demo") =>maka alert akan berbunyi dan memberi tahu ..............
ditambahkan untuk menghentikan perintah berikutnya yaitu return(0);
Code tersebut di tempatkan di dalam atau dibawah int start(){
contoh:
int start(){ if(!IsDemo()){Alert("Maaf bos hanya untuk demo");return(0);}
Nah untuk lebih jelasnya saya akan proteksi EA di part 21
sehingga jadinya begini
//+-----------------------------------------------------------------------------------------+
//| EA Jum+Profit |
//| gifaesa@yahoo.com |
//| http://JumForex.blogspot.com |
//+------------------------------------------------------------------+
#property copyright "JumForex.blogspot.com"
#property link "Gifaesa@yahoo.com"
extern string Nama_EA = "Jum+Profit";
extern bool Trade_buystop = true;
extern bool Trade_sellstop = true;
extern string Jam_server = "Set sesuai selera";
extern int Jam = 0;
extern int Menit = 30;
extern bool Tp_in_Money = false;
extern double TP_in_money = 5;
extern int TP = 100;
extern int SL = 20;
extern double Lots = 0.1;
extern int Jarak_stop = 25;
extern bool TrailingStop_ = true;
extern int TrailingStop = 12;
extern int Magic = 69;
double slb,tpb,sls,tps,pt,lslb,ltpb;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
if(Digits==3 || Digits==5) pt=10*Point; else pt=Point;
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
if(!IsDemo()){Alert("Maaf bos hanya untuk demo");return(0);}
label();
if(TrailingStop_)dtrailing();
if(Tp_in_Money ){
if(TP_in_money<= money(0)){
closeall(0);
closeall(2);
}
if(TP_in_money<= money(1)){
closeall(1);
closeall(3);
}
}
if(jumlahorder(0)==1 && jumlahorder(1)==0){
closeall(5);
}
if(jumlahorder(0)==0 && jumlahorder(1)==1){
closeall(4);
}
if(Hour()==23){
closeall(4);
closeall(5);
}
//----
double as = Ask + Jarak_stop*pt;
double bi = Bid - Jarak_stop*pt;
if(SL==0)slb=0;else slb=as-SL*pt;
if(SL==0)sls=0;else sls=bi+SL*pt;
if(TP==0)tpb=0;else tpb=as+TP*pt;
if(TP==0)tps=0;else tps=bi-TP*pt;
if(DayOfWeek()!=1 && Hour()==Jam && Minute()==Menit && jumlahorder(0)==0 && jumlahorder(1)==0){
if(jumlahorder(4)==0 && Trade_buystop ) {OrderSend(Symbol(),OP_BUYSTOP,NR(Lots),as,3,slb, tpb,Nama_EA,Magic,0,Blue);}
if(jumlahorder(5)==0 && Trade_sellstop ) {OrderSend(Symbol(),OP_SELLSTOP,NR(Lots),bi,3,sls, tps,Nama_EA,Magic,0,Red);}
}
return(0);
}
//+------------------------------------------------------------------+
int jumlahorder( int tipe)
{
int total=0;
for(int i=0; i<OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic || OrderType()!=tipe) continue;
total++;
}
return(total);
}
double NR(double thelot)
{
double maxlots = MarketInfo(Symbol(), MODE_MAXLOT),
minilot = MarketInfo(Symbol(), MODE_MINLOT),
lstep = MarketInfo(Symbol(), MODE_LOTSTEP);
double lots = lstep * NormalizeDouble(thelot / lstep, 0);
lots = MathMax(MathMin(maxlots, lots), minilot);
return (lots);
}
void dtrailing()
{
for(int i=0; i<OrdersTotal(); i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic ) continue;
if(OrderType()==OP_BUY) {
if(Bid-OrderOpenPrice()>pt*TrailingStop) {
if((OrderStopLoss()<Bid-pt*TrailingStop) || (OrderStopLoss()==0)) {
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-pt*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
if(OrderType()==OP_SELL) {
if((OrderOpenPrice()-Ask)>(pt*TrailingStop)){
if(OrderStopLoss()>(Ask+pt*TrailingStop) || (OrderStopLoss()==0)){
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+pt*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
void closeall(int m)
{
for (int i = OrdersTotal() - 1; i >= 0; i--) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber()!=Magic|| OrderType()!=m) continue;
if (OrderType() > 1) OrderDelete(OrderTicket());
if (OrderType() == 0) OrderClose(OrderTicket(), OrderLots(), Bid, 3, CLR_NONE);
if (OrderType() == 1)OrderClose(OrderTicket(), OrderLots(), Ask, 3, CLR_NONE);
}
}
double money(int m)
{
double dp = 0;
int i;
for (i = 0; i < OrdersTotal(); i++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber()!=Magic || m!=OrderType()) continue;
dp += OrderProfit();
}
return(dp);
}
void label()
{
Comment("\n ",
"\n ",
"\n ------------------------------------------------",
"\n :: =>+Jum+Profit<=",
"\n :: =>JumForex.blogspot.com<=",
"\n ------------------------------------------------",
"\n :: Spread : ", MarketInfo(Symbol(), MODE_SPREAD),
"\n :: Leverage : 1 : ", AccountLeverage(),
"\n :: Equity : ", AccountEquity(),
"\n :: Jam Server :", Hour(), ":", Minute(),
"\n ------------------------------------------------",
"\n :: Floting buy : ",money(0),
"\n :: Floting sell : ",money(1),
"\n ------------------------------------------------",
"\n :: >>By: Jum69<<",
"\n ------------------------------------------------");
}
====================
Oke deh sementara disini dulu ya nanti kita saambung lagi di part berikutnya
*copas dari http://jumforex.blogspot.com
Sepertinya udah banyak sih share coding EA sampai part 32.......
Nah kali ini kita akan belajar tentang proteksi EA ....karena ada bebepa temen di Ym yang minta di ajari proteksi EA ...............
Ada banyak cara untuk proteksi EA ataupun script dan Indikator al:
- Proteksi Demo ==> EA hanya bisa digunakan untuk account demo.
- Proteksi accout khusus ==> hanya bisa digunakan account tertentu saja.
- Proteksi Broker ==> hanya bisa digunakan broker tertentu saja
- Proteksi Pair ==> hanya bisaa digunakan pair tertentu saja.
- Proteksi waktu ==> dibatasi sampai waktu tertentu : tgl -bulan-tahun
- Proteksi Nama==>hanya bisa digunakan dengan nama account tertentu
- Proteksi Pasword==> menggunakan pasword tertentu ,lisensi number
- Proteksi dll ==>menggunakan file dll
- Proteksi webs==> harus tersambung dengan webs
- dll.
Nah kita akan bahas beberapa proteksi ..............
Yang Pertama
Proteksi account demoYang Pertama
Untuk memproteksi supaya EA hanya bisa digunakandi account demo disini kita tambahkan pembaca account demo yaitu: IsDemo()
Nah dari sini kita kembangkan dalam sebuah operasi
if(!IsDemo()){Alert("Maaf bos hanya untuk demo");return(0);}
Nah , if(!IsDemo()){ ini artinya bila tidak demo maka blabla.............yaitu Alert("Maaf bos hanya untuk demo") =>maka alert akan berbunyi dan memberi tahu ..............
ditambahkan untuk menghentikan perintah berikutnya yaitu return(0);
Code tersebut di tempatkan di dalam atau dibawah int start(){
contoh:
int start(){ if(!IsDemo()){Alert("Maaf bos hanya untuk demo");return(0);}
Nah untuk lebih jelasnya saya akan proteksi EA di part 21
//+-----------------------------------------------------------------------------------------+
//| EA Jum+Profit |
//| gifaesa@yahoo.com |
//| http://JumForex.blogspot.com |
//+------------------------------------------------------------------+
#property copyright "JumForex.blogspot.com"
#property link "Gifaesa@yahoo.com"
extern string Nama_EA = "Jum+Profit";
extern bool Trade_buystop = true;
extern bool Trade_sellstop = true;
extern string Jam_server = "Set sesuai selera";
extern int Jam = 0;
extern int Menit = 30;
extern bool Tp_in_Money = false;
extern double TP_in_money = 5;
extern int TP = 100;
extern int SL = 20;
extern double Lots = 0.1;
extern int Jarak_stop = 25;
extern bool TrailingStop_ = true;
extern int TrailingStop = 12;
extern int Magic = 69;
double slb,tpb,sls,tps,pt,lslb,ltpb;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
if(Digits==3 || Digits==5) pt=10*Point; else pt=Point;
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
if(!IsDemo()){Alert("Maaf bos hanya untuk demo");return(0);}
label();
if(TrailingStop_)dtrailing();
if(Tp_in_Money ){
if(TP_in_money<= money(0)){
closeall(0);
closeall(2);
}
if(TP_in_money<= money(1)){
closeall(1);
closeall(3);
}
}
if(jumlahorder(0)==1 && jumlahorder(1)==0){
closeall(5);
}
if(jumlahorder(0)==0 && jumlahorder(1)==1){
closeall(4);
}
if(Hour()==23){
closeall(4);
closeall(5);
}
//----
double as = Ask + Jarak_stop*pt;
double bi = Bid - Jarak_stop*pt;
if(SL==0)slb=0;else slb=as-SL*pt;
if(SL==0)sls=0;else sls=bi+SL*pt;
if(TP==0)tpb=0;else tpb=as+TP*pt;
if(TP==0)tps=0;else tps=bi-TP*pt;
if(DayOfWeek()!=1 && Hour()==Jam && Minute()==Menit && jumlahorder(0)==0 && jumlahorder(1)==0){
if(jumlahorder(4)==0 && Trade_buystop ) {OrderSend(Symbol(),OP_BUYSTOP,NR(Lots),as,3,slb, tpb,Nama_EA,Magic,0,Blue);}
if(jumlahorder(5)==0 && Trade_sellstop ) {OrderSend(Symbol(),OP_SELLSTOP,NR(Lots),bi,3,sls, tps,Nama_EA,Magic,0,Red);}
}
return(0);
}
//+------------------------------------------------------------------+
int jumlahorder( int tipe)
{
int total=0;
for(int i=0; i<OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic || OrderType()!=tipe) continue;
total++;
}
return(total);
}
double NR(double thelot)
{
double maxlots = MarketInfo(Symbol(), MODE_MAXLOT),
minilot = MarketInfo(Symbol(), MODE_MINLOT),
lstep = MarketInfo(Symbol(), MODE_LOTSTEP);
double lots = lstep * NormalizeDouble(thelot / lstep, 0);
lots = MathMax(MathMin(maxlots, lots), minilot);
return (lots);
}
void dtrailing()
{
for(int i=0; i<OrdersTotal(); i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic ) continue;
if(OrderType()==OP_BUY) {
if(Bid-OrderOpenPrice()>pt*TrailingStop) {
if((OrderStopLoss()<Bid-pt*TrailingStop) || (OrderStopLoss()==0)) {
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-pt*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
if(OrderType()==OP_SELL) {
if((OrderOpenPrice()-Ask)>(pt*TrailingStop)){
if(OrderStopLoss()>(Ask+pt*TrailingStop) || (OrderStopLoss()==0)){
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+pt*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
void closeall(int m)
{
for (int i = OrdersTotal() - 1; i >= 0; i--) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber()!=Magic|| OrderType()!=m) continue;
if (OrderType() > 1) OrderDelete(OrderTicket());
if (OrderType() == 0) OrderClose(OrderTicket(), OrderLots(), Bid, 3, CLR_NONE);
if (OrderType() == 1)OrderClose(OrderTicket(), OrderLots(), Ask, 3, CLR_NONE);
}
}
double money(int m)
{
double dp = 0;
int i;
for (i = 0; i < OrdersTotal(); i++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber()!=Magic || m!=OrderType()) continue;
dp += OrderProfit();
}
return(dp);
}
void label()
{
Comment("\n ",
"\n ",
"\n ------------------------------------------------",
"\n :: =>+Jum+Profit<=",
"\n :: =>JumForex.blogspot.com<=",
"\n ------------------------------------------------",
"\n :: Spread : ", MarketInfo(Symbol(), MODE_SPREAD),
"\n :: Leverage : 1 : ", AccountLeverage(),
"\n :: Equity : ", AccountEquity(),
"\n :: Jam Server :", Hour(), ":", Minute(),
"\n ------------------------------------------------",
"\n :: Floting buy : ",money(0),
"\n :: Floting sell : ",money(1),
"\n ------------------------------------------------",
"\n :: >>By: Jum69<<",
"\n ------------------------------------------------");
}
====================
Ternyata hanya dengan sebaris perintah tersebut cukup ampuh bahwasanya
EA hanya akan bisa digunakan di account demo he he
he..............Mudah kan?
Oke deh sementara disini dulu ya nanti kita saambung lagi di part berikutnya
*copas dari http://jumforex.blogspot.com
Belajar Membuat EA Sederhana 32
Salam Profit semuanya
Pada part kali saya share EA sederhana yang gunanya untuk menutup semua order dalam 1 pair pada jam tertentu,
kebetulan EA ini pernah saya share di forum IndoMt5 , Karena ada permintaan seorang temen untuk di tambahi fungsi hari supaya bisa diseting harinya.
Mudah2an menambah wawasan
//+------------------------------------------------------------------+
//| EA TutupGakPeduliOrder.mq4 |
//| Copyright © 2011,Jum69 |
//| http://Jumforex.blogspot.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011,Jum69"
#property link "http://Jumforex.blogspot.com"
//edit 26-4-2013
extern bool Yakin_Mau_Tutup_Semua=false;
extern string Hari_Close = "=>Sesuai selera::";
extern bool Senin = true;
extern bool Selasa= true;
extern bool Rabu= true;
extern bool Kamis= true;
extern bool Jumat= true;
extern string Isi_Jamnya="===>Ingat gan jam Server+";
extern int Jam= 0;
extern int Menit= 0;
string j_1;
int init() { return(0); }
int deinit() { return(0); }
int start()
{
Infonya();
if(Yakin_Mau_Tutup_Semua)j_1="Oke On"; else j_1="Off";
if(Yakin_Mau_Tutup_Semua && Hour() == Jam && Minute()== Menit && tday()==1)c();
return(0);
}
void Infonya()
{
Comment(" -----------------------------------------------",
"\n :: ====>INFO TERKINI<===",
"\n ------------------------------------------------",
"\n :: Spread : ", MarketInfo(Symbol(), MODE_SPREAD),
"\n :: Leverage : 1 : ", AccountLeverage(),
"\n :: Equity : ", AccountEquity(),
"\n :: Jam server : ", Hour(), ": ",Minute(),
"\n ------------------------------------------------",
"\n :: Program Tutup Order : ",j_1,
"\n :: Jam Tutup Order :", Jam, ": ",Menit,
"\n ------------------------------------------------",
"\n :: http://Jumforex.blogspot.com ",
"\n ------------------------------------------------",
"\n :: HAPPY TRADING @Jum69 ",
"\n ------------------------------------------------");
}
int tday()
{
int trd=0;
if(Senin && DayOfWeek()==1) trd=1;
if(Selasa && DayOfWeek()==2) trd=1;
if(Rabu && DayOfWeek()==3) trd=1;
if(Kamis && DayOfWeek()==4) trd=1;
if(Jumat && DayOfWeek()==5) trd=1;
return(trd);
}
void c()
{
for (int i = OrdersTotal() - 1; i >= 0; i--) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() ) continue;
if (OrderType() > 1) OrderDelete(OrderTicket());
else {
if (OrderType() == 0) OrderClose(OrderTicket(), OrderLots(), Bid, 3, CLR_NONE);
else OrderClose(OrderTicket(), OrderLots(), Ask, 3, CLR_NONE);
}
}
}
=================
*copas dari http://jumforex.blogspot.com
Pada part kali saya share EA sederhana yang gunanya untuk menutup semua order dalam 1 pair pada jam tertentu,
kebetulan EA ini pernah saya share di forum IndoMt5 , Karena ada permintaan seorang temen untuk di tambahi fungsi hari supaya bisa diseting harinya.
Mudah2an menambah wawasan
//+------------------------------------------------------------------+
//| EA TutupGakPeduliOrder.mq4 |
//| Copyright © 2011,Jum69 |
//| http://Jumforex.blogspot.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011,Jum69"
#property link "http://Jumforex.blogspot.com"
//edit 26-4-2013
extern bool Yakin_Mau_Tutup_Semua=false;
extern string Hari_Close = "=>Sesuai selera::";
extern bool Senin = true;
extern bool Selasa= true;
extern bool Rabu= true;
extern bool Kamis= true;
extern bool Jumat= true;
extern string Isi_Jamnya="===>Ingat gan jam Server+";
extern int Jam= 0;
extern int Menit= 0;
string j_1;
int init() { return(0); }
int deinit() { return(0); }
int start()
{
Infonya();
if(Yakin_Mau_Tutup_Semua)j_1="Oke On"; else j_1="Off";
if(Yakin_Mau_Tutup_Semua && Hour() == Jam && Minute()== Menit && tday()==1)c();
return(0);
}
void Infonya()
{
Comment(" -----------------------------------------------",
"\n :: ====>INFO TERKINI<===",
"\n ------------------------------------------------",
"\n :: Spread : ", MarketInfo(Symbol(), MODE_SPREAD),
"\n :: Leverage : 1 : ", AccountLeverage(),
"\n :: Equity : ", AccountEquity(),
"\n :: Jam server : ", Hour(), ": ",Minute(),
"\n ------------------------------------------------",
"\n :: Program Tutup Order : ",j_1,
"\n :: Jam Tutup Order :", Jam, ": ",Menit,
"\n ------------------------------------------------",
"\n :: http://Jumforex.blogspot.com ",
"\n ------------------------------------------------",
"\n :: HAPPY TRADING @Jum69 ",
"\n ------------------------------------------------");
}
int tday()
{
int trd=0;
if(Senin && DayOfWeek()==1) trd=1;
if(Selasa && DayOfWeek()==2) trd=1;
if(Rabu && DayOfWeek()==3) trd=1;
if(Kamis && DayOfWeek()==4) trd=1;
if(Jumat && DayOfWeek()==5) trd=1;
return(trd);
}
void c()
{
for (int i = OrdersTotal() - 1; i >= 0; i--) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() ) continue;
if (OrderType() > 1) OrderDelete(OrderTicket());
else {
if (OrderType() == 0) OrderClose(OrderTicket(), OrderLots(), Bid, 3, CLR_NONE);
else OrderClose(OrderTicket(), OrderLots(), Ask, 3, CLR_NONE);
}
}
}
=================
*copas dari http://jumforex.blogspot.com
Belajar Membuat EA Sederhana 31 (Multi Pair)
Untuk melengkapi wawasan kita tentang membuat EA, disini saya akan coba
share tentang Membuat EA multi pair (Ea untuk 6 pair). Hal ini untuk
memenuhi permintaan beberapa teman melalui email.
Ea ini hanya sebagai dasar2 saja dan untuk pengembangan lebih lanjut silahkan untuk berkreasi
Dasar2 Ea dilengkapi dengan fungsi yang mudah untuk di comot ,al :
//koreksi 10/04/2013
//+------------------------------------------------------------------+
//| Jum+MultiPair.mq4 |
//| gifaesa@yahoo.com |
//| http://JumForex.blogspot.com |
//+------------------------------------------------------------------+
#property copyright "JumForex.blogspot.com"
#property link "Gifaesa@yahoo.com"
extern string EA="multipair";
extern bool Close_Panic=false;
extern double Lots=0.1;
extern int Tp=5;
extern int Sl=15;
extern string Pr1="GBPUSD";
extern string Pr2="EURUSD";
extern string Pr3="AUDUSD";
extern string Pr4="USDJPY";
extern string Pr5="USDCHF";
extern string Pr6="EURJPY";
string Nama_EA = "Jum+MultiPair :";
int Magic = 69;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init(){ return(0); }
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit(){ return(0);}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
u();
if(Close_Panic){c(Pr1,0);c(Pr1,1); c(Pr2,0);c(Pr2,1);c(Pr3,0);c(Pr3,1);c(Pr4,0);c(Pr4,1);c(Pr5,0);c(Pr5,1);c(Pr6,0);c(Pr6,1); }
if(!Close_Panic){
if(jum(Pr1,0)==0 && O(Pr1,1)<C(Pr1,1))or(Pr1,0,Lots);
if(jum(Pr2,0)==0 && O(Pr2,1)<C(Pr2,1))or(Pr2,0,Lots);
if(jum(Pr3,0)==0 && O(Pr3,1)<C(Pr3,1))or(Pr3,0,Lots);
if(jum(Pr4,0)==0 && O(Pr4,1)<C(Pr4,1))or(Pr4,0,Lots);
if(jum(Pr5,0)==0 && O(Pr5,1)<C(Pr5,1))or(Pr5,0,Lots);
if(jum(Pr6,0)==0 && O(Pr6,1)<C(Pr6,1))or(Pr6,0,Lots);
if(jum(Pr1,1)==0 && O(Pr1,1)>C(Pr1,1))or(Pr1,1,Lots);
if(jum(Pr2,1)==0 && O(Pr1,2)>C(Pr2,1))or(Pr2,1,Lots);
if(jum(Pr3,1)==0 && O(Pr1,3)>C(Pr3,1))or(Pr3,1,Lots);
if(jum(Pr4,1)==0 && O(Pr1,4)>C(Pr4,1))or(Pr4,1,Lots);
if(jum(Pr5,1)==0 && O(Pr1,5)>C(Pr5,1))or(Pr5,1,Lots);
if(jum(Pr6,1)==0 && O(Pr1,6)>C(Pr6,1))or(Pr6,1,Lots);
}
//----
return(0);
}
//+------------------------------------------------------------------+
void or(string sy, int op,double lt)
{ double mod,mr,sl,tp;string st;
if( op==0){ mod=MODE_ASK;st=" Buy ";}
if( op==1){ mod=MODE_BID;st=" Sell ";}
mr=MarketInfo(sy,mod);
if( op==0){ sl=mr-Sl*pt(sy); tp=mr+Tp*pt(sy);}
if( op==1){ sl=mr+Sl*pt(sy); tp=mr-Tp*pt(sy);}
OrderSend(sy,op,lt,mr,3,sl, tp,Nama_EA+st+sy,Magic,0,Blue);
}
int jum(string sy, int tipe)
{ int t=0;
for(int i=0; i<OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!= sy || OrderMagicNumber()!=Magic || OrderType()!=tipe) continue;
t++;
} return(t);
}
double pt(string sy)
{
double t;
double p = MarketInfo(sy, MODE_TICKSIZE);
if (Digits == 3 || Digits == 5) t=10*p; else t=p;
return(t);
}
void c(string sy,int m)
{
double mod;
if( m==1) mod=MODE_ASK;
if( m==0) mod=MODE_BID;
double mr= MarketInfo(sy,mod);
for (int i = OrdersTotal() - 1; i >= 0; i--) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != sy || OrderMagicNumber()!=Magic ) continue;
if (OrderType() == m) OrderClose(OrderTicket(), OrderLots(), mr, 3, CLR_NONE);
if (OrderType() == m && m>1) OrderDelete(OrderTicket());
}
}
double C(string sy,int s){return(iClose(sy,PERIOD_H4,s));}
double O(string sy,int s){return(iOpen(sy,PERIOD_H4,s));}
void u()
{
Comment("\n ",
"\n ",
"\n ------------------------------------------------",
"\n :: =>+Jum+MultiPair<=",
"\n :: =>JumForex.blogspot.com<=",
"\n ------------------------------------------------",
"\n :: Spread : ", MarketInfo(Symbol(), MODE_SPREAD),
"\n :: Leverage : 1 : ", AccountLeverage(),
"\n :: Equity : ", AccountEquity(),
"\n :: Jam Server :", Hour(), ":", Minute(),
"\n ------------------------------------------------",
"\n :: >>By: Jum69<<",
"\n ------------------------------------------------");
}
==========
semoga bermanfaat untuk semua
Salam Sukses trader Indonesia
*copas dari http://jumforex.blogspot.com
Ea ini hanya sebagai dasar2 saja dan untuk pengembangan lebih lanjut silahkan untuk berkreasi
Dasar2 Ea dilengkapi dengan fungsi yang mudah untuk di comot ,al :
- fungsi order untuk multi pair
- close semua order multi pair
- menghitung total order perpair
- Kebetulan signal diambil dari close candel dan open candel
Mungkin bagi temen2 yang berminat silahkan mengamati code berikut dan mudah2an pas untuk belajar
//koreksi 10/04/2013
//+------------------------------------------------------------------+
//| Jum+MultiPair.mq4 |
//| gifaesa@yahoo.com |
//| http://JumForex.blogspot.com |
//+------------------------------------------------------------------+
#property copyright "JumForex.blogspot.com"
#property link "Gifaesa@yahoo.com"
extern string EA="multipair";
extern bool Close_Panic=false;
extern double Lots=0.1;
extern int Tp=5;
extern int Sl=15;
extern string Pr1="GBPUSD";
extern string Pr2="EURUSD";
extern string Pr3="AUDUSD";
extern string Pr4="USDJPY";
extern string Pr5="USDCHF";
extern string Pr6="EURJPY";
string Nama_EA = "Jum+MultiPair :";
int Magic = 69;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init(){ return(0); }
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit(){ return(0);}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
u();
if(Close_Panic){c(Pr1,0);c(Pr1,1); c(Pr2,0);c(Pr2,1);c(Pr3,0);c(Pr3,1);c(Pr4,0);c(Pr4,1);c(Pr5,0);c(Pr5,1);c(Pr6,0);c(Pr6,1); }
if(!Close_Panic){
if(jum(Pr1,0)==0 && O(Pr1,1)<C(Pr1,1))or(Pr1,0,Lots);
if(jum(Pr2,0)==0 && O(Pr2,1)<C(Pr2,1))or(Pr2,0,Lots);
if(jum(Pr3,0)==0 && O(Pr3,1)<C(Pr3,1))or(Pr3,0,Lots);
if(jum(Pr4,0)==0 && O(Pr4,1)<C(Pr4,1))or(Pr4,0,Lots);
if(jum(Pr5,0)==0 && O(Pr5,1)<C(Pr5,1))or(Pr5,0,Lots);
if(jum(Pr6,0)==0 && O(Pr6,1)<C(Pr6,1))or(Pr6,0,Lots);
if(jum(Pr1,1)==0 && O(Pr1,1)>C(Pr1,1))or(Pr1,1,Lots);
if(jum(Pr2,1)==0 && O(Pr1,2)>C(Pr2,1))or(Pr2,1,Lots);
if(jum(Pr3,1)==0 && O(Pr1,3)>C(Pr3,1))or(Pr3,1,Lots);
if(jum(Pr4,1)==0 && O(Pr1,4)>C(Pr4,1))or(Pr4,1,Lots);
if(jum(Pr5,1)==0 && O(Pr1,5)>C(Pr5,1))or(Pr5,1,Lots);
if(jum(Pr6,1)==0 && O(Pr1,6)>C(Pr6,1))or(Pr6,1,Lots);
}
//----
return(0);
}
//+------------------------------------------------------------------+
void or(string sy, int op,double lt)
{ double mod,mr,sl,tp;string st;
if( op==0){ mod=MODE_ASK;st=" Buy ";}
if( op==1){ mod=MODE_BID;st=" Sell ";}
mr=MarketInfo(sy,mod);
if( op==0){ sl=mr-Sl*pt(sy); tp=mr+Tp*pt(sy);}
if( op==1){ sl=mr+Sl*pt(sy); tp=mr-Tp*pt(sy);}
OrderSend(sy,op,lt,mr,3,sl, tp,Nama_EA+st+sy,Magic,0,Blue);
}
int jum(string sy, int tipe)
{ int t=0;
for(int i=0; i<OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!= sy || OrderMagicNumber()!=Magic || OrderType()!=tipe) continue;
t++;
} return(t);
}
double pt(string sy)
{
double t;
double p = MarketInfo(sy, MODE_TICKSIZE);
if (Digits == 3 || Digits == 5) t=10*p; else t=p;
return(t);
}
void c(string sy,int m)
{
double mod;
if( m==1) mod=MODE_ASK;
if( m==0) mod=MODE_BID;
double mr= MarketInfo(sy,mod);
for (int i = OrdersTotal() - 1; i >= 0; i--) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != sy || OrderMagicNumber()!=Magic ) continue;
if (OrderType() == m) OrderClose(OrderTicket(), OrderLots(), mr, 3, CLR_NONE);
if (OrderType() == m && m>1) OrderDelete(OrderTicket());
}
}
double C(string sy,int s){return(iClose(sy,PERIOD_H4,s));}
double O(string sy,int s){return(iOpen(sy,PERIOD_H4,s));}
void u()
{
Comment("\n ",
"\n ",
"\n ------------------------------------------------",
"\n :: =>+Jum+MultiPair<=",
"\n :: =>JumForex.blogspot.com<=",
"\n ------------------------------------------------",
"\n :: Spread : ", MarketInfo(Symbol(), MODE_SPREAD),
"\n :: Leverage : 1 : ", AccountLeverage(),
"\n :: Equity : ", AccountEquity(),
"\n :: Jam Server :", Hour(), ":", Minute(),
"\n ------------------------------------------------",
"\n :: >>By: Jum69<<",
"\n ------------------------------------------------");
}
==========
semoga bermanfaat untuk semua
Salam Sukses trader Indonesia
*copas dari http://jumforex.blogspot.com
Langganan:
Postingan (Atom)