EUR/USD 1.067   |   USD/JPY 154.850   |   GBP/USD 1.237   |   AUD/USD 0.645   |   Gold 2,305.79/oz   |   Silver 26.89/oz   |   Wall Street 38,239.98   |   Nasdaq 15,451.31   |   IDX 7,110.81   |   Bitcoin 66,837.68   |   Ethereum 3,201.65   |   Litecoin 85.47   |   PT Essa Industries Indonesia Tbk (ESSA) pada kuartal I/2024 meraup pendapatan senilai $73.82 juta, menyusut 15.96% dibandingkan periode yang sama tahun lalu, 5 jam lalu, #Saham Indonesia   |   PT HM Sampoerna Tbk. (HMSP) akan menggelar rapat umum pemegang saham (RUPS) hari ini, guna memberikan keputusan pembagian dividen serta pengangkatan direksi baru, 5 jam lalu, #Saham Indonesia   |   Waskita Karya (WSKT) kembali memenangkan gugatan permohonan PKPU yang dilayangkan kedua kalinya oleh emiten keluarga Jusuf Kalla, Bukaka (BUKK), 5 jam lalu, #Saham Indonesia   |   PT Bumi Resources Tbk. (BUMI) melesat 20% seiring rencana perseroan melakukan kuasi reorganisasi untuk membagikan dividen kepada para pemegang saham, 5 jam lalu, #Saham Indonesia

Fungsi DateTime Pada Program EA Menggunakan MQL4

Penulis

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

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.

114499
Penulis

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
Dark
Apa bisa digunakan untuk menentukan waktu trading secara otomatis? Misal robot akan trading hanya pada jam 07:00 pagi, apa coding yang digunakan?
Muh Nuzul
@Dark:tentu saja bisa pak. Anda hanya harus menggunakannya dengan syntax if(jamberapa sampai jamberapa).
Hendra
jika sudah seperti ini tampilan nya tetapi end hour ny tidak berfungsi, bagian mana yg kurang ya?