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 perintah-perintah 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 teman u membelikan nasi empal. U bilang, kalau harganya 5000 dibelikan 2 ya, kalau lebih mahal ya tidak 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, tidak usah beli
Sama juga seperti program. Program juga harus diperintah seperti itu, dikasih opsi berdasarkan kriteria-kriteria 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) && iClose(Symbol(),0,1)-iOpen(Symbol(),0,1) < 50*Point )
{
//open buy
}
else if (iClose(Symbol(),0,1){
//open sell
}
else
{
//ga trade
}

cukup jelas kan ya?
Saya cuma coba menjelaskan syntax-syntax & penulisannya saja kalau misalnya translasi dari bahasa manusia ke bahasa algoritma yang dimengerti komputer, bisa baca-baca 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 hal-hal 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)

Terimakasih telah membaca Decision dan Looping.Dan anda adalah pembaca yang ke 577 kalinya,semoga bermanfaat!