Tuesday 18 December 2012

Mengambil nilai indikator tanpa index buffer


http://www.forexindo.com/forum/tutorial-mql4/12842-mengambil-nilai-indikator-tanpa-index-buffer.html


Sebelumnya sudah di bahas bagaimana membaca nilai indikator dengan index buffer di Bagian 9 - Implementasi Custom Indikator, tetapi tidak semua indikator memiliki index buffer. nah disini saya akan coba bahas bagaimana mengambil nilainya dengan menggunakan "objectget".

pada contoh saat ini saya akan coba membuat ea menggunakan indicator camarilla
setelah di attach ke chart akan tampil gambar indicatornya seperti ini



sebelum masuk ke coding kita harus mengetahui dulu nama-nama dari object yang akan kita gunakan. dalam kasus ini yang kita butuhkan nama dari garis-garis H3 Long, L4 Short, H3 Short dan H4 Long. untuk mengetahui namanya, klik kanan di dalam chart lalu pilih "Object List" akan tampil seperti gambar berikut.

di atas kita sudah bisa melihat nama dari object2 yang kita butuhkan, yaitu:
L3 Long = L3 Line
L4 Short Breakout = L4 Line
H3 Short = H3 Line
H4 Long Brekaout = H4 Line

selanjutnya buka metaeditor untuk coding.
kita akan mengambil harga dari garis-garis horisontal camarilla tersebut dengan objectget.
formatnya
Code:
double ObjectGet(string name, int index);
string name = nama objectnya
int index = value yang akan diambil dari object tersebut. mis: waktu,harga,warna, dll.
karena kita akan mengambil harganya maka untuk "index"nya kita gunakan "OBJPROP_PRICE1".

maka kita codingkan seperti berikut
Code:
double beli=ObjectGet("l3 line",OBJPROP_PRICE1); // Level dimana kita akan melakukan order buy
double sl_beli=ObjectGet("l4 line",OBJPROP_PRICE1); // Level StopLoss untuk posisi buy
double jual=ObjectGet("h3 line",OBJPROP_PRICE1); // Level dimana kita akan melakukan order sell
double sl_jual=ObjectGet("h4 line",OBJPROP_PRICE1); // level stoploss untuk posisi sell
dari code di atas kita sudah mendapatkan harga dari masing2 garis-garis camarilla tersebut. selanjutnya kita akan coding perintah order dengan system :

-Buy di level L3 Long, Stop Loss L4 Short Breakout
-Sell di level H3 Short, Stop Loss H4 Long Breakout

Code:
if (OrdersTotal()<1) // code untuk hanya melakukan order jika tidak ada order aktif. sehingga hanya ada satu transaksi.
   {
      if (Bid+1*Point >= beli && Bid-1*Point <= beli) OrderSend(Symbol(),0,0.1,Ask,3,sl_beli,jual,0,0,0,0);
      else if (Bid+1*Point >= jual && Bid-1*Point <= jual) OrderSend(Symbol(),1,0.1,Bid,3,sl_jual,beli,0,0,0,0);
   }
mungkin ada yang bertanya kenapa saya tidak gunakan
"if (bid==beli)" atau "if (bid==jual)" yang codenya lebih pendek dan simple. tapi pada prakteknya kalau kita gunakan code itu maka seringkali saat harga bid sudah menyentuh garis, EA nya tidak melakukan order. sehingga saya gunakan code di atas yang lebih mudah mendeteksi harga yang sama.

ok ea kita sudah selesai, code selengkapnya seperti ini

Code:
int start()
{
double beli=ObjectGet("l3 line",OBJPROP_PRICE1); // Level dimana kita akan melakukan order buy
double sl_beli=ObjectGet("l4 line",OBJPROP_PRICE1); // Level StopLoss untuk posisi buy
double jual=ObjectGet("h3 line",OBJPROP_PRICE1); // Level dimana kita akan melakukan order sell
double sl_jual=ObjectGet("h4 line",OBJPROP_PRICE1); // level stoploss untuk posisi sell

if (OrdersTotal()<1)
   {
      if (Bid+1*Point >= beli && Bid-1*Point <= beli) OrderSend(Symbol(),0,0.1,Ask,3,sl_beli,jual,0,0,0,0);
      else if (Bid+1*Point >= jual && Bid-1*Point <= jual) OrderSend(Symbol(),1,0.1,Bid,3,sl_jual,beli,0,0,0,0);
   }
return(0);
}
kelemahan dari mengambil harga indikator berdasarkan objectget adalah saat kita menjalankan EA ini maka indicatornya juga harus di attach ke chart. karena EA tersebut mencari objectnya di chart tersebut.

Detailed Statement

iseng2 backtest dari januari bisa capai 100%. untuk lebih lanjut mengenai bagaimana cara optimize EA bisa ikut seminar diSeminar Advance Pengenalan, Penggunaan dan Optimasi Expert Advisor/ Robot Trading

Silahkan reply thread ini jika ada yang ingin ditanyakan mengenai "objectget" 
Last edited by chandrawg; 15 March 2011 at 11:17.



===========================================================
kasus :


Keterangan gbr yg sy lingkarin : 
- Kalau actual < forecast => warnanya merah
- Nah berarti kita bisa mengambil dari perubahan warnanya

Misal begini :
double obj;
int start()
obj = ObjectGet("xxxxxxx",OBJPROP_COLOR);
IF (DoubleToStr(obj,0) == "255") // Warna merah
maka harga turun........

2 comments:

  1. Hello Everybody,

    I've attached a list of the most recommended forex brokers:
    1. Best Forex Broker
    2. eToro - $50 minimum deposit.

    Here is a list of top forex instruments:
    1. ForexTrendy - Recommended Odds Software.
    2. EA Builder - Custom Strategies Autotrading.
    3. Fast FX Profit - Secret Forex Strategy.

    I hope you find these lists beneficial.

    ReplyDelete
  2. GPS robot tripled the $100k deposit [live proof]

    I just completed a webinar with Mark and his partner, Antony, two days ago and it was GREAT.

    During the webinar MARK and ANTONY shared their stories to success and answered questions about their new release of the GPS Forex Robot that came out TODAY!

    ReplyDelete