Advertisement

iklan

Filter Open Order

Expert Advisor

Advertisement

iklan

Advertisement

iklan

08 Mar 2018

Gan, mau tanya bikin filter EA hanya open buy setelah candle ke tiga muncul di atas MA. Saya sudah coba dengan if (Close(3) > MA 10) maka open buy tetapi setelah tapi malah open buy lagi padahal sudah candle ke 7 di atas MA.

Yg saya inginkan adalah hanya open di candle ke-3 setelah tapi Ea diam walaupun harga masih di atas MA terima kasih.

12 Mar 2018

Selamat pagi pak, Saya akan sedikit menjelaskan bagaimana prinsip kerja atau algoritmanya.

Sebelumnya Saya ulangi lagi requirement-nya, Anda ingin agar EA open posisi saat close candle ke-3 setelah cross harga dengan MA?
 
Jika benar seperti itu, Anda harusnya tidak menggunakan:
if (Close(3) > MA10) -> perintah ini digunakan untuk mengecek jika candle nomor 4 dari kanan saat ini closenya melebihi MA10 tidak. Sehingga seperti yang Anda jelaskan tadi, jika saat in candle ke-7 dan harga masih di atas MA, maka berarti candle nomor 4 dari candle saat ini closenya melebihi MA10 jadi EA akan tetap open posisi.

Logika Anda sebenarnya sudah baik dan simpel. Tapi perlu ditambahkan sedikit sebagai koreksi atau filter agar tidak terjadi hal-hal seperti yang Anda alami di atas.
jadi algoritmanya seperti ini:
 
1. Jika candle nomor 4 dari kanan saat ini close lebih dari MA10 maka:
2. Periksa candle nomor 5, cek apakah candle nomor 5 juga close lebih dari MA10?
3. Jika candle nomor 5 tidak lebih dari MA10 maka candle saat ini adalah candle ke-4 setelah harga cross MA10, dan lakukan open order buy.
4. Jika candle nomor 5 lebih dari MA10 maka candle saat ini adalah bukan candle ke-4 setelah harga cross MA10, jgn lakukan apa-apa.
secara bahasa pemrograman :
 
if (Close(3) > MA10)
{
if(Close(4) > MA10)
{//open posisi buy}
else{
//do nothing
}}
 
Jangan lupa nilai MA10 untuk candle ke-4 dan ke-5 akan berbeda konfigurasinya dan penulisannya. lihat contoh di bawah berikut:
 
nilaima = iMA(symbol, period, maperiod, mashift,mamethod,appliedprice,shift);

Jadi jika Anda ingin membandingkan candle ke-4 ya harus dengan menggunakan nilai MA pada posisi candle ke-4. Jika MA10 Anda merupakan SMA10 maka kodenya jadi begini pada candle ke-4 dan 5
candle ke-4 ->
 nilaimake4 = iMA(null,0,10,0,MODE_SMA,PRICE_CLOSE,3);
candle ke-5 ->
nilaimake5 = iMA(null,0,10,0,MODE_SMA,PRICE_CLOSE,4);
 
Terima kasih.
13 Mar 2018
terima kasih banyak pak ... sangat membantu
13 Mar 2018

@ahmadfx

Terima kasih kembali pak. Jika ada kesulitan silahkan tanyakan kembali, akan Kami bantu sebisa Kami.
 
Terima kasih
27 Mar 2018
selamat siang pak, Saya mau tanya untuk membuat code open sell ketika ada candle bearish di atas MA100 dan jarak MA dengan harga  saat ini berada 100 pip atau lebih di atas MA100.
bagaimana codenya?
apakah seperti ini?
 
if ( Close[0]> Ma100&& Ma100)
 
terima kasih untuk jawabanya
28 Mar 2018

Selamat pagi juga Pak. Akan kami coba sedikit bantu jelaskan algoritmanya ya.Pertama, saya verifikasi ulang terlebih dahulu parameter-parameter yang ingin Anda gunakan.


1. Candle bearish = Candle yang nilai close-nya lebih rendah daripada nilai open-nya.
 
2. Jarak close candle dengan MA100 lebih dari 100 pips atau 1000 poin.
 
Kedua, mari kita analisa mengapa kode yang bapak tuliskan tidak dapat berjalan.
 
1. if(close[0] > MA100 && MA100
 
sebenarnya tidak ada kesalahan logika pada kode yang bapak tuliskan. Hanya saja pada prakteknya pemrograman harus ditulis runtut dan jelas agar dapat dijalankan oleh komputer.

Mungkin bapak bisa mencoba algoritma berikut. Tanda "// "berarti komentar ya Pak.

 int jarakma;
//Cek apakah candle bearish atau tidak pada candle sebelum saat ini (1)
if (Close[1] < Open[1])
{
jarakma = Close[1] - MA100;
//cek apakah close candle jaraknya lebih dari 100 pips
if ( jarakma >= 1000)
{
//open sell;
}
}
else
{
//jangan lakukan apa-apa
}

Terima kasih
28 Mar 2018
terima kasih banyak pak atas jawabanya 
saya coba dulu codenya ya pak 
terima kasih
01 Apr 2018

selamat malam pak mohon untuk mengoreksi kode di bawah ini mengapa tidak mau open sama sekali ... padahal ketika saya compile tidak ada error sama sekali

yg saya inginkan adalah open sell ketika candle beariss di atas MA100 && jarakMA100 dengan Candle beariss = 100 pip atau lebih terima kasih  banyak  sebelumnya  

extern double Lots       = 0.1;
extern int    TakeProfit = 5;
extern int    StopLoss   = 20;
extern int    Magic      = 123;
double  MA100;
int    jumlahOpensell, i;


int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
 expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
MA100= iMA (Symbol(),0,100,0,0,0,0);   
 
 
int jarakma;
if (jumlahOpensell==0 ) 
if (Close[1] < Open[1])
{
jarakma = Close[1] - MA100;
if ( jarakma >= 1000)
{
int x=OrderSend (Symbol(), OP_SELL , Lots , Bid , 10 , Bid +StopLoss*Point , Bid -TakeProfit*Point ,,Magic,0,Red);
}
}
else
{
//jangan lakukan apa-apa
} 
 
 
 
// untuk filter jumlah order
jumlahOpensell=0;
for(i=0;i
   {
     if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES))continue;
  if (OrderSymbol()==Symbol() && OrderMagicNumber() == Magic)
     {jumlahOpensell++;}
   }
 
 
 
   
 
//----
   return(0);
  }
//+-

 

02 Apr 2018

Selamat malam Pak. 

Sebelum saya koreksi kodenya, saya meminta maaf terlebih dahulu karena kesalahan saya pada jawaban yang lalu. Sebenearnya algoritma kodenya sudah benar, hanya saja pada saat kita mengecek jarak antara close candle dengan Ma100 saya lupa merubah jarak MA menjadi basis point. Akhirnya EA tidak dapat mendeteksinya. Berikut kode bapak yang saya edit sedikit dan sudah coba sendiri. 

 

extern double Lots = 0.1;
extern int TakeProfit = 5;
extern int StopLoss = 20;
extern int Magic = 123;
double MA100;
int jumlahOpensell, i; //+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

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

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
MA100 = NormalizeDouble (iMA(Symbol(),0,100,0,0,0,1), Digits);
//MA100= iMA (Symbol(),0,100,0,0,0,0); int jarakma;
if (jumlahOpensell==0 )
if (Close[1] < Open[1])
{
jarakma = (Close[1] - MA100)*100000;
ObjectCreate("akselerasi2",OBJ_LABEL,0,0,0,0,0);
ObjectSet("akselerasi2",OBJPROP_CORNER,3);
ObjectSet("akselerasi2",OBJPROP_XDISTANCE,0);
ObjectSet("akselerasi2",OBJPROP_YDISTANCE,10);
ObjectSetText("akselerasi2","jarak dari MA100= " +jarakma,25,"Stencil Std",Green);
if ( jarakma >= 1000)
{
int x=OrderSend (Symbol(), OP_SELL , Lots , Bid , 10 , Bid+StopLoss*Point() , Bid-TakeProfit*Point() ,0,Magic,0,Red);
}
}
else
{
//jangan lakukan apa-apa
} // untuk filter jumlah order
jumlahOpensell=0;
for(i=0;i {
if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES))continue;
if (OrderSymbol()==Symbol() && OrderMagicNumber() == Magic)
{jumlahOpensell++;}
} //----
return(0);
}

 

Terima kasih banyak pak

04 Apr 2018
terima kasih banyak pak atas jawabanya ... code nya sudah saya coba dan sudah sesuai keinginan saya
sekali saya ucapkan terima kasih ...dan mudah mudahan bapak sukses selalu
23 Nov 2019
@Admin Seputar Forex
kayaknya admin jago nih buat EA
Boleh minta tolong buatin EA sederhana min
EA yg entry 1x sehari
pada jam 2 siang
di pair EURUSD
posisi buy
Lot = 0.1
take profit = 20
Stop loss = 20
jadi cara kerjanya EA ini hanya open di jam 2 siang dengan posisi selalu buy. sederhana min, tapi saya kesulitan buatnya,bantuin dong min kayak contoh di atas untuk MT5. Terima kasih min
17 Des 2019

@ahmad nezar:
Mohon maaf pak. Kami bukan jasa pembuat Robot Trading (EA) di sini. Mungkin Bapak bisa belajar sedikit-sedikit terlebih dahulu. Nanti hasilnya silahkan dipaparkan di sini, dan akan kami coba bantu jika ada yg error atau tidak bisa dijalankan. Terima kasih

Kategori Expert Advisor

Pertanyaan Penanya Balasan Dilihat Aktivitas
Cara membuat kunci password pada indicator/EA? Flo 16 13149 11 Nov 2015
Bagaimana cara mengganti nama EA? Ekhy 10 3840 18 Mar 2016
Robot Trading Dari Seputar Forex? Budi Hutama 10 1693 18 Agu 2018
Apakah Foward Test Hasilnya Bisa Sama dengan Back Test? Edwin 8 1230 01 Agu 2018
rekomendasi EA gratis? Cicilia 7 11629 29 Jun 2018
Pengambilan Profit Terhadap Money Management EA? Krisna 7 1120 16 Agu 2018