Fungsi DateTime Pada Program EA Menggunakan MQL4

114499

Dibandingkan dengan bahasa pemrograman lainnya, penggunaan datetime untuk menulis tanggal dan waktu pada MQL4 ini lebih mudah.

FirewoodFX

iklan

Advertisement

iklan

Banyak orang yang membutuhkan date time sebagai salah satu strategi di dalam pemrograman Expert Advisor (EA) menggunakan MQL4. Fungsi dari date time digunakan untuk memberikan label tanggal, hari, sampai tahun dan bulan pembuatan Expert Advisor. Bisa juga digunakan sebagai tanggal expired dari EA karena sudah tidak sesuai dengan signal dan arah gerak market.

Nah, bagaimana cara penulisannya pada MQL4? Apakah kita perlu menuliskan angkanya saja? Ataukah ada script khusus yang mendampingi pembuatan tanggal-tanggal tersebut?

 

Fungsi Date Time Pada Program EA

 

Nilai datetime berupa nilai untuk tanggal dan waktu. Penulisan kode diawali dengan 'D'. Tipe datetime memakai memori komputer sebesar 4 bit. Perhitungan tanggal dan waktu dimulai dari 1 Januari 1970 pukul 00:00.

Contoh penggunaan variabel datetime dalam program
datetime Waktu= D'2012.01.01 00:00' ;                     // tahun 2012
datetime Tanggal= D'01.01.2012';                                 // tahun 2012

Dibandingkan dengan bahasa pemrograman lainnya, penggunaan datetime pada MQL4 ini lebih mudah lho.. tidak percaya? Saya berikan contoh dari 2 bahasa pemrograman lain :

Visual Basic

Now, digunakan untuk mendapatkan Tanggal dan Waktu sekarang.
d = Now , hasilnya 13/01/2012 1:22:42

Date, digunakan untuk mendapatkan Tanggal sekarang.
[ VB 6.0 ] d = Date , hasilnya 13/01/2012
[ VB .NET ] d = Now.Date , hasilnya 13/01/2012

Time, digunakan untuk mendapatkan Waktu sekarang.
[ VB 6.0 ] d = Time , hasilnya 1:22:42
[ VB .NET ] d = Now.ToLongTimeString , hasilnya 1:22:42

Day(x), digunakan untuk mengambil nilai Tanggal saja dari x.
[ VB 6.0 ] d = Day(#1/13/2012#) , hasilnya 13
[ VB .NET ] d = #1/13/2012#.Day , hasilnya 13

Month(x), digunakan untuk mengambil nilai Bulan saja dari x.
[ VB 6.0 ] d = Month(#1/13/2012#) , hasilnya 1
[ VB .NET ] d = #1/13/2012#.Month , hasilnya 1

PHP

Asumsi : hari ini adalah Kamis, 25 November 2010
Format : 2010-11-25
Codenya adalah : date("Y-m-d");
Format : November 25, 2010, 8:17 PM
Code : date("F j, Y, g:i a");

Nah, jadi sudah tahu perbedaannya. Bahasa MQL dirancang lebih mudah dan lebih cepat dimengerti oleh trader. Sehingga dalam pembuatan code yang serumit apapun, pasti akan mudah difahami oleh seorang coder EA.

Kesimpulan

Fungsi datetime pada MQL4 berfungsi untuk menemukan sebuah tanggal atau pun tahun dan bulan. Hal ini digunakan untuk berbagai alasan. Bisa dalam membatasi masa waktu tertentu sehingga Expert Advisor tidak dapat digunakan lagi, atau tanggal tertentu yang membuat Expert Advisor tidak dinonaktifkan atau sedang diam. Semua itu tergantung pada pemrograman masing-masing pembuat Expert Advisor.


Selain tipe data berupa DateTime, MQL4 juga memiliki enam tipe data khas lainnya. Simak di artikel Macam-Macam Tipe Data Dalam MQL4.

Parmadita mengenal forex mulai tahun 2010. Sejak saat itu, menggali beragam pengetahuan dan pengalaman terkait forex dari berbagai sumber, baik tentang indikator teknikal biasa, psikologi trading, maupun Expert Advisor.

Mustamin
Bagaimana contoh penggunaannya jika kita ingin membatasi EA itu hanya bekerja 1 tahun saja atau 6 bulan saja, apakah ini benar seperti di bawah ini?
datetime Waktu= D2012.01.01 00:00 - 2012.12.30 23:59 ; // tahun 2012
datetime Tanggal= D01.01.2012 - 30.12.2012; // tahun 2012
Seputarforex
Mengenai penulisan harusnya sudah benar. Anda tinggal mengaplikasikannya ke dalam koding saja pak.Anda bisa menggunakan logika simple dengan algoritma seperti ini:
1. Tetapkan tanggal kadaluarsa EA
2. Sebelum menjalankan EA, lakukan pengecekan waktu Now.
3. Jika Now sudah melewati batas kadaluarsa EA maka jangan jalankan EA.
4. Jika Now belum melewati batas kadaluarsa EA maka jalankan EA