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
Tidak ada komentar:
Posting Komentar