Cara Membuat EA Robot Forex Averaging Dengan Bahasa Pemrograman MQL4. Logic Averagingnya Berdasarkan Signal Indikator ZigZag. Jumlah Banyaknya Tingkat Averagingnya Dapat diBatasi 5 atau 9 Level Saja. TakeProfitnya Berdasarkan TP_inMoney. Jadi Target TakeProfitnya Dapat diSetting 50 Dollars atau 100 USD Sekali CloseALLTransaksi.
CODING YANG DIPERLUKAN UNTUK MEMBUAT EA AVERAGING.
VARIABLE INPUTS:
Deskripsi Coding:
#property copyright "EA Creator"
#property link ""
#property description "EA AVERAGING PER SIGNAL"
extern double Lots = 0.1;
extern double Target_TP_inMoney = 100;
extern int Maksimal_Tingkat_Averaging = 10;
extern bool Trade_buy_Aktif = true;
extern bool Trade_sell_Aktif = true;
extern int Jam_Mulai_Trading = 0;
extern int Jam_Berhenti_Trading = 24;
extern bool TP_inMoney_Aktif = true;
extern string Seting_Period_ZigZag = "";
extern int Pereode_ZigZag = 14;
int Magic = 5555;
int TP = 0;
int SL = 0;
double SL_buy,TP_buy,SL_sell,TP_sell,pipp;
int waktu,tiket;
variable agar EA support harga mata uang 3 dan 5 digit dibelakang koma:
Deskripsi coding:
int init()
{
if(Digits==3 || Digits==5) pipp=10*Point; else pipp=Point;
return(0);
}
CODING MQL4 UNTUK MEMBUAT EA AVERAGING:
//------------------------
void OnTick()
{
TeksInfoAkunTrading();
if(TP_inMoney_Aktif && Target_TP_inMoney<=TargetProfitTransaksi())
CloseAllTransaksi();
double hCloseCandlestick = iClose(Symbol(),NULL,2);
double iZigzag = iCustom(Symbol(),NULL,"ZigZag",Pereode_ZigZag,5,3,0,2);
int signal;
if(iZigzag > hCloseCandlestick)
signal=1; // logic signal buy
if(iZigzag < hCloseCandlestick)
signal=2; //logic signal sell
if(Jam_Trading()==True)
{
if(SL==0)
SL_buy=0;
else
SL_buy=Ask-SL*pipp;
if(SL==0)
SL_sell=0;
else
SL_sell=Bid+SL*pipp;
if(TP==0)
TP_buy=0;
else
TP_buy=Ask+TP*pipp;
if(TP==0)
TP_sell=0;
else
TP_sell=Bid-TP*pipp;
if(waktu!=Time[0])
{
if(jumlahorder(0)<Maksimal_Tingkat_Averaging
&& jumlahorder(1)==0
&& Trade_buy_Aktif
&& signal==1)
{
tiket = OrderSend(Symbol(),OP_BUY,LN(Lots),Ask,3,SL_buy, TP_buy,
"EA sukses buy",Magic,0,Blue);
}
if(jumlahorder(0)==0
&& jumlahorder(1)<Maksimal_Tingkat_Averaging
&& Trade_sell_Aktif
&& signal==2)
{
tiket = OrderSend(Symbol(),OP_SELL,LN(Lots),Bid,3,SL_sell, TP_sell,
"EA sukses sell",Magic,0,Red);
}
if(tiket>0)
waktu=Time[0];
}
}
return;
}
//+------------------------------------------------------------------+
int Jam_Trading()
{
bool tradingforex = false;
if(Jam_Mulai_Trading > Jam_Berhenti_Trading)
{
if(Hour() >= Jam_Mulai_Trading || Hour() < Jam_Berhenti_Trading)
tradingforex = true;
}
else
if(Hour() >= Jam_Mulai_Trading && Hour() < Jam_Berhenti_Trading)
tradingforex = true;
return (tradingforex);
}
//+------------------------------------------------------------------+
int jumlahorder(int tipe)
{
int totalnya_order=0;
for(int i=0; i<OrdersTotal(); i++)
{
if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
continue;
if(OrderSymbol()!=Symbol()
|| OrderMagicNumber()!=Magic
|| OrderType()!=tipe)
continue;
totalnya_order++;
}
return(totalnya_order);
}
//+------------------------------------------------------------------+
double LN(double lotnya) //LN singkatan Lot Normal
{
double maxlots = MarketInfo(Symbol(), MODE_MAXLOT),
minilot = MarketInfo(Symbol(), MODE_MINLOT),
lotstep = MarketInfo(Symbol(), MODE_LOTSTEP);
double lots = lotstep * NormalizeDouble(lotnya / lotstep, 0);
lots = MathMax(MathMin(maxlots, lots), minilot);
return (lots);
}
//+------------------------------------------------------------------+
void CloseAllTransaksi()
{
for(int i = OrdersTotal()-1; i >= 0; i--)
{
if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
continue;
if(OrderSymbol() != Symbol() || OrderMagicNumber()!=Magic)
continue;
if(OrderType() > 1)
tiket=OrderDelete(OrderTicket());
else
{
if(OrderType() == 0)
tiket=OrderClose(OrderTicket(), OrderLots(), Bid, 3, CLR_NONE);
else
tiket=OrderClose(OrderTicket(), OrderLots(), Ask, 3, CLR_NONE);
}
}
}
//+------------------------------------------------------------------+
double TargetProfitTransaksi()
{
double targetprofit = 0;
int i;
for(i = 0; i < OrdersTotal(); i++)
{
if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
continue;
if(OrderSymbol() != Symbol() || OrderMagicNumber()!=Magic)
continue;
targetprofit += OrderProfit();
}
return(targetprofit);
}
//------------------------
Baca Juga: Kursus EA Forex!
Demikian Penjelasan Cara Membuat EA Robot Forex Averaging Yang Logic OP Buy dan OP Sellnya Berdasarkan Signal iCustom Indikator ZigZag Yang Dapat Kami Sampaikan kepada Anda, Kalau Ada Pertanyaan atau Anda Butuh Bimbingan Pelatihan atau Kursus Belajar Membuat Expert Advisor, Silahkan Anda Menghubungi ke Kontak Kami!
2 comments:
Berapa biaya kursus onlinenya untuk membuat EA MT5, Pak ?
Halo kak Tulus_aja, untuk info lebih lanjut mengenai kursus online EA hub ke email kursusforexsolo@gmail.com ya
Posting Komentar