EUR/USD 1.074   |   USD/JPY 156.530   |   GBP/USD 1.253   |   AUD/USD 0.655   |   Gold 2,337.91/oz   |   Silver 27.24/oz   |   Wall Street 38,262.07   |   Nasdaq 15,611.76   |   IDX 7,036.08   |   Bitcoin 63,755.32   |   Ethereum 3,130.16   |   Litecoin 87.99   |   USD/CHF menguat di atas level 0.9100, menjelang data PCE As, 1 hari, #Forex Teknikal   |   Ueda, BoJ: Kondisi keuangan yang mudah akan dipertahankan untuk saat ini, 1 hari, #Forex Fundamental   |   NZD/USD tetap menguat di sekitar level 0.5950 karena meningkatnya minat risiko, 1 hari, #Forex Teknikal   |   EUR/JPY melanjutkan reli di atas level 167.50 menyusul keputusan suku bunga BoJ, 1 hari, #Forex Teknikal   |   PT PLN (Persero) segera melantai ke Bursa Karbon Indonesia alias IDX Carbon, dengan membuka hampir 1 juta ton unit karbon, 1 hari, #Saham Indonesia   |   PT Sinar Mas Agro Resources and Technology Tbk. (SMAR) meraih fasilitas pinjaman dari Bank BNI (BBNI) senilai $250 juta, 1 hari, #Saham Indonesia   |   Induk perusahaan Google, Alphabet Inc (NASDAQ: GOOGL), menguat sekitar 12%, mencapai rekor tertinggi di sekitar $174.70, 1 hari, #Saham AS   |   Nasdaq naik 1.2% menjadi 17,778, sementara S&P 500 naik 0.8% menjadi 5,123 pada pukul 18.49 ET (22.49 WIB). Dow Jones Futures naik 0.1% menjadi 38,323, 1 hari, #Saham AS

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?