Implementasi Custom Indikator

iCustom
Jika anda memiliki indikator sendiri, dan ingin membuat EA berdasarkan indikator tersebut, maka ada 2 solusi yang bisa dipakai.
1. menggunakan function iCustom()
2. mengembed algoritma indikator ke EA nya
menggunakan iCustom lebih simpel dan rapi daripada mengembed algoritma indikator ke dalam EA (karena EA nya nanti jadi panjang codingnya)..
fungsi lengkapnya :
code:
double iCustom( string symbol, int timeframe, string name, …, int mode, int shift)
ok, sebagai contoh, saya punya indikator range1 (saya attach ex4 nya). indikator ini menampilkan bar range seperti ini :nah,saya mau mengimplementasikan nilai dari indikator ini (range=absolute(high-low)) ke EA saya.
kita pake aja contoh EA yang di bagian 8.
7) Posisi baru dibuka kalau sedang tidak ada posisi, dan juga tidak trade di hari Jumat (gw tambahi rulenya)
saya tambahi jadi
7) Posisi baru dibuka kalau sedang tidak ada posisi, dan juga tidak trade di hari Jumat, dan range candle jam sekarang dan jam sebelumnya tidak boleh lebih dari 100 pip.
nah, gimana caranya untuk mendapatkan nilai dari iCustom..
contoh sekarang, custom indikatornya bernama range1.ex4 (ada di folder expert/indicator)
maka, syntaxnya begini :
code:
double range0, range1=0;
range0=iCustom(Symbol(),0,”range1″,0,0); //range pada candle jam sekarang
range1=iCustom(Symbol(),0,”range1″,0,1); //range pada candle jam sebelom sekarang
[code]
sedangkan di EA nya, asalnya :
code:
bool bolehTrade()
{
//kalau jumat, EA ga trade ; atau kalau ada order terbuka, EA juga ga trade
if (DayOfWeek()==5 || OrdersTotal()>0) { return (false); } else { return(true); }
}
ditambahi jadi begini
code:
bool bolehTrade()
{
//kalau jumat, EA ga trade ; atau kalau ada order terbuka, EA juga ga trade
//klo range diatas 100 untuk candle sekarang dan sebelomnya, juga ga trade
range0=iCustom(Symbol(),0,”range1″,0,0); //range pada candle jam sekarang
range1=iCustom(Symbol(),0,”range1″,0,1); //range pada candle jam sebelom sekarang
if (DayOfWeek()==5 || OrdersTotal()>0 || range0>100 || range1>100 ) { return (false); } else { return(true); }
}
gampang kan
pada iCustom :
Symbol() = symbol dimana ea dipasang
0 = timeframe dimana ea dipasang (kalau mau fix 30 menit, ya isi aja PERIOD_M30)
range1 = nama ex4 custom indikatornya (range1.ex4)
0 = mode
0,1 (paling belakang) = shift (penjelasannya ada di bagian fungsi indikator)
mode
Mode dalam iCustom itu untuk memilih mendapatkan nilai dari buffer yang mane (buffer 0-7)
kebetulan indikator range1 tadi cuman 1 kluaran outputnya, jadi ya pilih mode 0

contoh indikator yang kasih keluaran 6 output : (saya ambil dari indikator member di bagian 8)

maka kalau mau ambil nilai DownTrendLine misalnya, ya mode nya diisi 5
code:
iCustom(Symbol(),0,”namaindi”,……..(inputan)…..,5,0)
nah, kebetulan juga indikator range1 tadi tidak ada inputan, bagaimana klo indikatornya ada inputan, seperti yang di bagian 8 (Bagian 8 – Menyusun EA)

nah…. jadi begitu
paramater-paramater inputnya ditaruh seperti itu (garis-garis biru) (semoga mengerti kalau melihat gambarnya)…
terus mode yang sya maksud itu untuk mendapatkan nilai yang saya kasih garis ijo
iCustom ini cukup luas penerapannya.. tapi basicnya ya seperti contoh-contoh diatas..

Terimakasih telah membaca Implementasi Custom Indikator.Dan anda adalah pembaca yang ke 801 kalinya,semoga bermanfaat!