//+------------------------------------------------------------------+
//| ContohEA3.mq4 |
//| Copyright © 2008, Forexindo |
//| http://www.forexindo.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, Forexindo"
#property link "http://www.forexindo.com"

extern double RiskPercent=5;
extern int StopLoss=100;
extern int TakeProfit=150;
extern string txComment="Order EA1";
extern int MagicNumber=12345;
extern int Slippage=5;


//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
if (bolehTrade()) //kalau boleh trade
{
if (BuySignal() ) //kalau ada signal buy
{
OrderSend(Symbol(),OP_BUY,itungLot(),Ask,Slippage, Ask- StopLoss*Point,Ask+TakeProfit*Point,txComment,Magi cNumber);
}
else if (SellSignal() ) //kalau ada signal sell
{
OrderSend(Symbol(),OP_SELL,itungLot(),Bid,Slippage ,Bid+StopLoss*Point,Bid-TakeProfit*Point,txComment,MagicNumber);
}


//----
return(0);
}
//+------------------------------------------------------------------+

bool BuySignal()
{
//kalau harga close candle sebelumnya lebih besar/diatas EMA 10 pada candle sebelumnya 
if (iClose(Symbol(),0,1) > iMA(Symbol(),0,10,0,MODE_EMA,PRICE_CLOSE,1) )
{
return(true);
}
else
{
return(false);
}
}

bool SellSignal()
{
//kalau harga close candle sebelumnya lebih kecil/dibawah EMA 10 pada candle sebelumnya 
if (iClose(Symbol(),0,1) < iMA(Symbol(),0,10,0,MODE_EMA,PRICE_CLOSE,1) )
{
return(true);
}
else
{
return(false);
}
}

bool bolehTrade()
{
//kalau jumat, EA ga trade ; atau kalau ada order terbuka, EA juga ga trade
if (DayOfWeek()==5 || OrdersTotal()>0) { return (false); } else { return(true); }
}

double itungLot()
{
//ini untuk itung lot secara otomatis berdasarkan SL dan persen risk
double xLots=0;
xLots=NormalizeDouble(AccountBalance()*RiskPercent/100 /StopLoss / 10,1);
return (xLots);
}


white tiger Terima kasih contoh ea-nya, ini sudah 95 % sesuai dengan ide ea saya simple dan profit . sudah saya backtest kekurangannya mungkin ada di manajemen lots nya yang otomatis. kalau bisa lots nya kita yang tentukan. seperti sbb :
misalkan
1. OP Pertama dng Lot 0.1 Bila SL 
2. OP Kedua Lot 0.2 Bila SL
3. OP Ketiga Lot 0.4 dst. sampai ada OP Yang profit
4. Kalau sudah ada OP Yang TakeProfit Maka lot kembali Ke 0.1 (lots awal)

cara diatas saya pakai trading manual. cuma cape plototin monitor terus. tolong bantuannya. 
terima Kasih ,