http://jumforex.blogspot.com/2012/12/belajar-membuat-ea-sederhana-pending.html
Pastikan telah mengikuti part 19 disini
sepertinya sudah lama gak posting !
Okey pada part ini saya akan coba bahas tentang EA yang terkait dengan Pending order.
Ada 6 macam type yaitu
3. Buystop
Buystop merupakan order pesanan di atas harga yang sedang bergerak.
Silahkan di amati dan dibandingkan dengan type sebelumnya
sepertinya sudah lama gak posting !
Okey pada part ini saya akan coba bahas tentang EA yang terkait dengan Pending order.
Ada 6 macam type yaitu
- Type 0 yaitu = Buy
- Type 1 yaitu = Sell
- Type 2 yaitu = Buylimit
- Type 3 yaitu = Selllimit
- Type 4 yaitu = Buystop
- Type 5 yaitu = Sellstop
Dari 6 macam type order tersebut type pending order ada 4 macam. (pastikan juga sudah membaca pada bagian part awal yang juga membahas type order).
Untuk itulah kita akan bahas type pending order
1. Buylimit
1. Buylimit
Buy limit merupakan order pesanan dibawah harga yang sedangan berjalan , sehingga pada strkur order yang perlu durubah adalah type order dan harga yang dipesan.
Perhatikan pada order buy berikut:
OrderSend(Symbol(), 0, start_lot, Ask, 3, Ask-SL*Point,Ask+TP*Point, "", Magic, 0, Blue);
Ada bagian yang bergaris bawah merupakan bagian yang harus dirubah dalam menggunakan order Pending tersebut.
Dan bagian yang juga harus diperhatikan adalah Jarak antara harga berjalan dengan harga yang dipesan untuk pending ordernya (OrdersOpenprice)==> Ask- Jarak*Point
Sehingga jadinya sbb:
OrderSend(Symbol(), 2, start_lot, Ask- Jarak*Point, 3, Ask- Jarak*Point-SL*Point,Ask-Jarak*Point+TP*Point, "", Magic, 0, Blue);
Bisa juga di tulis:
OrderSend(Symbol(), OP_BUYLIMIT, start_lot, Ask- Jarak*Point, 3, Ask- Jarak*Point-SL*Point,Ask-Jarak*Point+TP*Point, "", Magic, 0, Blue);
2. Selllimit
Selllimit merupakan order pesanan di atas harga yang sedang bergerak.
Seperti halnya pada order buylimiit bagian yg penting adalah type order dan jarak,
Nah silahkan di banding kan
Selllimit merupakan order pesanan di atas harga yang sedang bergerak.
Seperti halnya pada order buylimiit bagian yg penting adalah type order dan jarak,
Nah silahkan di banding kan
OrderSend(Symbol(), 3, start_lot, Bid+Jarak*Point, 3, Bid +Jarak*Point+ SL*Point,Bid+Jarak*Point-TP*Point, "", Magic, 0, Red);
Bisa juga di tulis:
OrderSend(Symbol(), OP_SELLLIMIT, start_lot, Bid+Jarak*Point, 3, Bid+ Jarak*Point + SL*Point,Bid+Jarak*Point-TP*Point, "", Magic, 0, Red);
3. Buystop
Buystop merupakan order pesanan di atas harga yang sedang bergerak.
Silahkan di amati dan dibandingkan dengan type sebelumnya
OrderSend(Symbol(), 4, start_lot, Ask+ Jarak*Point, 3, Ask+ Jarak*Point-SL*Point,Ask+Jarak*Point+TP*Point, "", Magic, 0, Blue);
Bisa juga di tulis:
OrderSend(Symbol(), OP_BUYSTOP, start_lot, Ask+ Jarak*Point, 3, Ask+ Jarak*Point-SL*Point,Ask+Jarak*Point+TP*Point, "", Magic, 0, Blue);
4. Sellstop
Sellstop adalah merupakan order pesanan dibawah harga yang sedangan berjalan.
Silahkan di amati dan dibandingkan dengan type sebelumnya
4. Sellstop
Sellstop adalah merupakan order pesanan dibawah harga yang sedangan berjalan.
Silahkan di amati dan dibandingkan dengan type sebelumnya
OrderSend(Symbol(), 5, start_lot, Bid-Jarak*Point, 3, Bid -Jarak*Point+SL*Point,Bid-Jarak*Point-TP*Point, "", Magic, 0, Red);
Bisa juga di tulis:
OrderSend(Symbol(), OP_SELLSTOP, start_lot, Bid-Jarak*Point, 3, Bid- Jarak*Point+SL*Point,Bid-Jarak*Point-TP*Point, "", Magic, 0, Red);
Nah Kita akan coba membuat EA sederhana dengan menggunakan ke 4 pending tersebut!
Namun sebelum kita buat kita harus membuat filter jumlah order sesuai typenya , Nah untuk memudahkan saya sediakan sbuah script yang merupakan fungsi untuk menghitung type order
int jumlahorder(int m)
{
int total = 0;
for (int i = 0; i < OrdersTotal(); i++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol()|| OrderMagicNumber()!=Magic || OrderType()!=m ) continue;
total++;
}
return(total);
}
Cara memanggilnya
Contoh:
Untuk Buylimit
if(jumlahorder(OP_BUYLIMIT) ==0 )OrderSend(Symbol(), 2, start_lot, Ask- Jarak*Point, 3, Ask- Jarak*Point-SL*Point,Ask-Jarak*Point+TP*Point, "", Magic, 0, Blue);
atau
if(jumlahorder(2)==0) OrderSend(Symbol(), OP_BUYLIMIT, start_lot, Ask- Jarak*Point, 3, Ask- Jarak*Point-SL*Point,Ask-Jarak*Point+TP*Point, "", Magic, 0, Blue);
Untuk Selllimit
if(jumlahorder(OP_SELLLIMIT) ==0 )OrderSend(Symbol(), 3, start_lot, Bid+Jarak*Point, 3, Bid +Jarak*Point+SL*Point,Bid+Jarak*Point-TP*Point, "", Magic, 0, Red);
atau
if(jumlahorder(3)==0)OrderSend(Symbol(), OP_SELLLIMIT, start_lot, Bid+Jarak*Point, 3, Bid +Jarak*Point+SL*Point,Bid+Jarak*Point-TP*Point, "", Magic, 0, Red);
Nah silahkan di lanjut deh
Tapi saya udah coba buatkan EA sederhananya untuk lebih memahami
silahkan di amati
//+------------------------------------------------------------------+
//| EA Pending Order.mq4 |
//| Copyright 2012, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//-------------------------------------------------------------------+
#property copyright "JumForex.blogspot.com"
#property link "Gifaesa@yahoo.com"
extern string Nama_EA = "Jum+Pending";
extern int Mulai_Jam = 6;
extern int Akhir_Jam = 20;
extern int TP = 20;
extern int SL = 100;
extern double Lots = 0.01;
extern int Jarak = 15;
extern int Magic = 69;
double slb,tpb,sls,tps,pt;
int wt,wk,tiket,ticet;
//+------------------------------------------------------------------+
//| 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()
{
label();
if(Jam_trade()==1){
if(jumlahorder(2)==0)OrderSend(Symbol(), OP_BUYLIMIT,NR(Lots), Ask- Jarak*Point, 3, Ask- Jarak*Point-SL*Point,Ask-Jarak*Point+TP*Point, "", Magic, 0, Blue);
if(jumlahorder(3)==0)OrderSend(Symbol(), OP_SELLLIMIT,NR(Lots) , Bid+Jarak*Point, 3, Bid+ Jarak*Point+SL*Point,Bid+Jarak*Point-TP*Point, "", Magic, 0, Aqua);
if(jumlahorder(4)==0)OrderSend(Symbol(), OP_BUYSTOP,NR(Lots) , Ask+ Jarak*Point, 3, Ask+ Jarak*Point-SL*Point,Ask+Jarak*Point+TP*Point, "", Magic, 0, Blue);
if(jumlahorder(5)==0)OrderSend(Symbol(), OP_SELLSTOP,NR(Lots) , Bid-Jarak*Point, 3, Bid- Jarak*Point+SL*Point,Bid-Jarak*Point-TP*Point, "", Magic, 0, Yellow);
}
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() || 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 label()
{
Comment("\n ",
"\n ",
"\n ------------------------------------------------",
"\n :: =>+Jum+Pending<=",
"\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 ------------------------------------------------");
}
Bila ada manfaatnya atau belum jelas silahkan kasih comment ya
Happppy profit deh
Nah Kita akan coba membuat EA sederhana dengan menggunakan ke 4 pending tersebut!
Namun sebelum kita buat kita harus membuat filter jumlah order sesuai typenya , Nah untuk memudahkan saya sediakan sbuah script yang merupakan fungsi untuk menghitung type order
int jumlahorder(int m)
{
int total = 0;
for (int i = 0; i < OrdersTotal(); i++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol()|| OrderMagicNumber()!=Magic || OrderType()!=m ) continue;
total++;
}
return(total);
}
Cara memanggilnya
Contoh:
Untuk Buylimit
if(jumlahorder(OP_BUYLIMIT) ==0 )OrderSend(Symbol(), 2, start_lot, Ask- Jarak*Point, 3, Ask- Jarak*Point-SL*Point,Ask-Jarak*Point+TP*Point, "", Magic, 0, Blue);
atau
if(jumlahorder(2)==0) OrderSend(Symbol(), OP_BUYLIMIT, start_lot, Ask- Jarak*Point, 3, Ask- Jarak*Point-SL*Point,Ask-Jarak*Point+TP*Point, "", Magic, 0, Blue);
Untuk Selllimit
if(jumlahorder(OP_SELLLIMIT) ==0 )OrderSend(Symbol(), 3, start_lot, Bid+Jarak*Point, 3, Bid +Jarak*Point+SL*Point,Bid+Jarak*Point-TP*Point, "", Magic, 0, Red);
atau
if(jumlahorder(3)==0)OrderSend(Symbol(), OP_SELLLIMIT, start_lot, Bid+Jarak*Point, 3, Bid +Jarak*Point+SL*Point,Bid+Jarak*Point-TP*Point, "", Magic, 0, Red);
Nah silahkan di lanjut deh
Tapi saya udah coba buatkan EA sederhananya untuk lebih memahami
silahkan di amati
//+------------------------------------------------------------------+
//| EA Pending Order.mq4 |
//| Copyright 2012, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//-------------------------------------------------------------------+
#property copyright "JumForex.blogspot.com"
#property link "Gifaesa@yahoo.com"
extern string Nama_EA = "Jum+Pending";
extern int Mulai_Jam = 6;
extern int Akhir_Jam = 20;
extern int TP = 20;
extern int SL = 100;
extern double Lots = 0.01;
extern int Jarak = 15;
extern int Magic = 69;
double slb,tpb,sls,tps,pt;
int wt,wk,tiket,ticet;
//+------------------------------------------------------------------+
//| 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()
{
label();
if(Jam_trade()==1){
if(jumlahorder(2)==0)OrderSend(Symbol(), OP_BUYLIMIT,NR(Lots), Ask- Jarak*Point, 3, Ask- Jarak*Point-SL*Point,Ask-Jarak*Point+TP*Point, "", Magic, 0, Blue);
if(jumlahorder(3)==0)OrderSend(Symbol(), OP_SELLLIMIT,NR(Lots) , Bid+Jarak*Point, 3, Bid+ Jarak*Point+SL*Point,Bid+Jarak*Point-TP*Point, "", Magic, 0, Aqua);
if(jumlahorder(4)==0)OrderSend(Symbol(), OP_BUYSTOP,NR(Lots) , Ask+ Jarak*Point, 3, Ask+ Jarak*Point-SL*Point,Ask+Jarak*Point+TP*Point, "", Magic, 0, Blue);
if(jumlahorder(5)==0)OrderSend(Symbol(), OP_SELLSTOP,NR(Lots) , Bid-Jarak*Point, 3, Bid- Jarak*Point+SL*Point,Bid-Jarak*Point-TP*Point, "", Magic, 0, Yellow);
}
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() || 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 label()
{
Comment("\n ",
"\n ",
"\n ------------------------------------------------",
"\n :: =>+Jum+Pending<=",
"\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 ------------------------------------------------");
}
Bila ada manfaatnya atau belum jelas silahkan kasih comment ya
Happppy profit deh
gan tny...gmn cara buat pending order sprt diatas tp ditambahkn supaya bs tereksekusi sekaligus di beberapa pair, mlsny di pair eu,gu,uj,uch. jd nilai PO lgsng diisi di satu ea...?? nuhun....
ReplyDeleteHey Ya'll,
ReplyDeleteI've included a list of the highest ranking FOREX brokers:
1. Best Forex Broker
2. eToro - $50 min. deposit.
Here is a list of the best forex tools:
1. ForexTrendy - Recommended Probability Software.
2. EA Builder - Custom Strategies Autotrading.
3. Fast FX Profit - Secret Forex Strategy.
Hopefully these lists are helpful to you...
GPS robot [10x increase of the deposit and investor access]
ReplyDeleteI just finished a webinar with Mark and his partner, Antony, two days ago and it was AMAZING.
During the webinar MARK and ANTONY shared their secrets to success and answered questions about their new release of the GPS Forex Robot that IS COMING OUT TODAY!