- Credits
- 0
Mohon pencerahan para master, maklum baru belajar dari SoeHoe masih 3 harian
Saya bingung bagaimana cara agar EA tidak open lagi jika sudah terjadi open ?
Rule nya begini : Pada saat Candle baru buka (harga open), maka
- Jika harga berada diatas harga open pertama kali lebih dari atau sama dengan 10 pip (misal), dan harga kembali lagi ke harga open, maka EA open SELL di harga Open.
sebaliknya
- Jika harga berada dibawah harga open pertama kali lebih dari atau sama dengan 10 pip (misal), dan harga kembali lagi ke harga open, maka EA open BUY di harga Open.
Kira2 ini yang saya tulis dengan susah payah hahaha... maklum masih belajar dari nol
Masalahnya di script ini jika harga kadang 2x atau 3x balik ke open, selalu EA open order lagi... bagaimana cara mengatasi ini ?
Kemudian mengapa EA ini tidak bisa berjalan di backtest? sedangkan di forward test bisa.. bagaimana cara agar EA bisa kita jalankan di backtest?
Terima Kasih, dan mohon bimbingan dari para master sekalian.
Saya bingung bagaimana cara agar EA tidak open lagi jika sudah terjadi open ?
Rule nya begini : Pada saat Candle baru buka (harga open), maka
- Jika harga berada diatas harga open pertama kali lebih dari atau sama dengan 10 pip (misal), dan harga kembali lagi ke harga open, maka EA open SELL di harga Open.
sebaliknya
- Jika harga berada dibawah harga open pertama kali lebih dari atau sama dengan 10 pip (misal), dan harga kembali lagi ke harga open, maka EA open BUY di harga Open.
Kira2 ini yang saya tulis dengan susah payah hahaha... maklum masih belajar dari nol
Code:
double pOpen = iOpen (Symbol(),0,0);
double pHigh = iHigh (Symbol(),0,0);
double pLow = iLow (Symbol(),0,0);
//double pClose = iClose (Symbol(),0,0);
double pAsk = Ask ;
double pBid = Bid ;
int RentangHigh = DoubleToStr ((pHigh - pOpen)/Point, 0 );
int RentangLow = DoubleToStr ((pOpen - pLow) / Point, 0 );
int PipAchieve = 10 ;
int QnSignal () {
int nSignal ;
if (RentangLow >= PipAchieve && pAsk == pOpen && RentangHigh < PipAchieve) nSignal = 1 ;
if (RentangHigh >= PipAchieve && pBid == pOpen && RentangLow < PipAchieve) nSignal = 2 ;
return (nSignal) ;
}
double Lots = 0.01 ;
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
QnSignal () ;
if (QnSignal () == 2 && QnSignal() != 0)
int ticket = OrderSend (Symbol(),OP_SELL,Lots,Bid,3,0,0,NULL,123,0,Red);
if (QnSignal () == 1 && QnSignal() != 0)
int ticket = OrderSend (Symbol(),OP_BUY,Lots,Ask,3,0,0,NULL,123,0,Blue);
/*
Comment ("\nHarga Open = " + DoubleToStr (pOpen,4) +
"\nHarga High = " + DoubleToStr (pHigh,4) +
"\nHarga Low = " + DoubleToStr (pLow,4) +
"\nHarga Close = " + DoubleToStr (pClose,4) +
"\nHarga Ask = " + DoubleToStr (pAsk,4) +
"\nHarga Bid = " + DoubleToStr (pBid,4)+
"\nRentang High = " + RentangHigh +
"\nRentang Low = " + RentangLow +
"\nSignal Order = " + QnSignal ()
) ;
*/
}
//+------------------------------------------------------------------+
Masalahnya di script ini jika harga kadang 2x atau 3x balik ke open, selalu EA open order lagi... bagaimana cara mengatasi ini ?
Kemudian mengapa EA ini tidak bisa berjalan di backtest? sedangkan di forward test bisa.. bagaimana cara agar EA bisa kita jalankan di backtest?
Terima Kasih, dan mohon bimbingan dari para master sekalian.
Last edited by a moderator: