Decision dan Looping
Pada bagian ini kita akan membahas decision dan looping. Decision dan looping adalah inti dari sebuah program komputer. Sesuai atau tidaknya program komputer berjalan tergantung dari kebenaran anda menulis/menyusun perintah2 decision dan looping
Begitu juga dengan EA, kalau salah dalam menyusun decision & looping, maka kinerjanya akan tidak sesuai yang kita kehendaki. Misalnya menurut kehendak kita, sekarang ini EA harusnya open buy, tapi ternyata dia malah diem aja... nah itu bisa jadi, walau tidak 100% pasti, kesalahannya terletak pada bagian ini.
1. Decision/Branching
1.1 IF - (ELSE)
Decision berarti membagi alur program menjadi 2.
Simplenya begini, u suruh temen u beliin nasi empal. U bilang, kalau harganya 5000 beliin 2 ya, kalau lebih mahal ya ga usah beli.
Itu termasuk branching, karena dari 1, akan dipecah menjadi 2 opsi :
opsi 1 : kalau harga 5000 beli 2
opsi 2 : kalau harga diatas 5000, ga usah beli
Sama juga seperti program. Program juga harus diperintah seperti itu, dikasih opsi berdasarkan kriteria2 tertentu.
Contohnya dalam forex :
Kalau candle ditutup bullish, maka buy
Kalau candle ditutup bearish, maka sell
Kalau candle close=open, maka tidak usah trade
(bullish berarti close lebih tinggi dari open, dan sebaliknya)
kalau dalam bahasa MQL4, maka penulisannya akan jadi seperti ini :
Code:
//diatas sudah
if (iClose(Symbol(),0,1)>iOpen(Symbol(),0,1) )
{
//open buy
}
else if (iClose(Symbol(),0,1)<iOpen(Symbol(),0,1) )
{
//open sell
}
else
{
//ga trade
}
kurang lebih sama seperti kita nyuruh orang, cuman bahasa dan tata cara penulisannya saja yang beda.
jika misalnya perlu 2 kondisi, semisal kalau candle nya terlalu panjang (lebih dari 50 pips), tidak trade, maka kita bisa menggunakan Operator Logical (Bagian 5 - Operator dan Ekspresi)
contoh :
Code:
//diatas sudah
if (iClose(Symbol(),0,1)>iOpen(Symbol(),0,1) && iClose(Symbol(),0,1)-iOpen(Symbol(),0,1) < 50*Point )
{
//open buy
}
else if (iClose(Symbol(),0,1)<iOpen(Symbol(),0,1) && iOpen(Symbol(),0,1)-iClose(Symbol(),0,1) < 50*Point )
{
//open sell
}
else
{
//ga trade
}
cukup jelas kan ya?
gw cuman coba jelasin syntax2 & penulisannya saja kalau misalnya translasi dari bahasa manusia ke bahasa algoritma yang dimengerti komputer, bisa baca2 buku logika & algoritma... (di perpus kampus IT biasanya ada)
1.2 SWITCH
Switch fungsinya sama ama if, untuk branching juga. Bedanya switch digunakan untuk membandingkan hal2 yang sebanding, yang variabelnya sama.
Misal, jika 1 EA punya 3 pilihan filtrasi harga (untuk memfilter false signal), maka bisa menggunakan switch.
inputan 1 untuk filter menggunakan RSI, 2 untuk panjang candle, dst
syntaxnya seperti ini :
Code:
switch(x)
{
case 'A':
Print("CASE A");
break;
case 'B':
Print("CASE B");
case 'C':
Print("CASE B or C");
break;
default:
Print("NOT A, B or C");
break;
}
perhatikan, bahwa setiap selesai operasi, harus diakhiri dengan break;
kalau tidak, maka perintah di case selanjutnya akan dieksekusi juga.
jadi misal pada code diatas, kalau x=B, maka yang keluar adalah CASE B, CASE B or C (yang dibawah case C juga dieksekusi, walau x bukan C)
Code:
switch(x)
{
case '1':
bolehTrade=cekRSI();
break;
case '2':
bolehTrade=cekCandle();
break;
default:
Print("Unknown Option");
break;
}
cekRSI(), cekCandle(), dan bolehTrade adalah boolean
x=integer
default adalah nilai jika x tidak memenuhi semua kriteria di case (kayak else nya statement If)
Hello Everybody,
ReplyDeleteBelow is a list of the highest ranking forex brokers:
1. Best Forex Broker
2. eToro - $50 min. deposit.
Here is a list of money making forex tools:
1. ForexTrendy - Recommended Odds Software.
2. EA Builder - Custom Indicators Autotrading.
3. Fast FX Profit - Secret Forex Strategy.
Hopefully these lists are helpful to you...
GPS robot [10x increase of the deposit amount]
ReplyDeleteI just got done with a webinar with Mark and his partner, Antony, two days ago and it was GREAT.
During the webinar MARK and ANTONY shared their secrets to success and answered questions about their new version of the GPS Forex Robot that came out TODAY!