Order tidak berhasil dibuka biasanya karena error yang terjadi seperti requotes, trade context busy, trades not allowed dll. Kecuali error2 yang sifatnya memang gak akan bisa dibuka seperti invalid price, invalid stop level, invalid lot, maka akan percuma melakukan looping.
Ada cara lain misalnya nilai slippagenya agak besar contoh 9, sebaiknya juga dilakukan cek koneksi seperti IsTradeAllowed, IsTradeContextBusy, IsConnected, dll sebelum OP.
Untuk penggunaan slippage, digunakan pada saat OrderSend dan OrderClose, itu nilai maksimal slip(tergelincir) dalam pips.
contoh misal order kita trigger di level 1.3000, jika angka slippage kita 2, maka order akan bisa dibuka dengan rentang antara 2 pips dibawah dan 2 pips diatas level tadi, dalam kasus ini antara 1.2998 dan 1.3002.
Nah penggunaan slippage yang lebih besar memungkinkan Order dibuka dalam rentang yang lebih besar pula, terutama berguna bagi pair yang pergerakannya agak ekstrim seperti GBPJPY.
Code:
if (Bid-OrderOpenPrice()==Point*10) { ........................ }
- Apakah OrderOpenPrice sudah di lakukan OrderSelect
- Karena nilainya harus tepat 10 pips dan harga (Bid) itu berubah-ubah cepat maka pada saat ada selisih sedikit saja misal 9 atau 11 pips, Order tidak akan tereksekusi, bagaimanapun juga Order itu butuh waktu untuk dikirim dari MT4 kita ke servernya brooker, belum lagi kalau ada requotes dll.
hope it helps,
No comments:
Post a Comment