Operation of Programs in the Strategy Tester | Operasi Program dalam Strategy Tester

Penawaran Terbatas! Paket Data 25GB Hanya Rp 90.000
Dapatkan kuota besar 25GB untuk semua nomor AS, Loop, dan simPATI hanya dengan Rp 90.000, berlaku selama 30 hari! Internet lancar tanpa khawatir kehabisan kuota, cocok untuk streaming, gaming, dan browsing sepuasnya!
Aktifkan sekarang dan nikmati kebebasan internet!
Read More Beli PaketStrategy Tester di terminal trading MetaTrader 4 memungkinkan Anda untuk menguji kinerja Expert Advisor (EA) menggunakan data historis.
Beberapa hal penting yang harus diperhatikan ketika menguji dan mengoptimalkan robot trading di Strategy Tester:
- Pembatasan fungsi dalam Strategy Tester
- Variabel global terminal klien
- Simulasi waktu di Strategy Tester
- Objek grafis saat pengujian
- Penanganan event di tester
Pembatasan Fungsi dalam Strategy Tester
Terdapat pembatasan untuk beberapa fungsi di Strategy Tester milik terminal klien. Pemanggilan fungsi-fungsi ini akan menghasilkan error 4059 (Function is not allowed in testing mode).
Fungsi Sleep()
Fungsi Sleep()
tidak menyebabkan penundaan apapun saat dijalankan di Strategy Tester.
Fungsi Print() dan PrintFormat()
Untuk meningkatkan performa, fungsi Print()
dan PrintFormat()
tidak dijalankan saat proses optimasi parameter robot trading. Pengecualian diberikan saat fungsi-fungsi tersebut digunakan dalam OnInit()
, sehingga memudahkan menemukan penyebab kesalahan.
Fungsi Alert(), MessageBox(), PlaySound(), SendFTP, SendMail(), SendNotification(), WebRequest()
Fungsi-fungsi berikut tidak dijalankan di Strategy Tester karena dirancang untuk interaksi dengan dunia luar:
Alert()
MessageBox()
PlaySound()
SendFTP()
SendMail()
SendNotification()
WebRequest()
Fungsi OrderSend(), OrderModify(), OrderDelete(), OrderClose(), OrderCloseBy()
Operasi trading tidak dilakukan pada simbol selain dari yang sedang diuji.
Variabel Global Terminal Klien
Karena tester adalah bagian dari terminal klien, maka mereka berbagi variabel global yang sama. Oleh karena itu, nama variabel global di EA yang sedang diuji sebaiknya tidak sama dengan variabel global aplikasi lain, untuk menghindari konflik dan hasil uji coba yang tidak akurat.
Simulasi Waktu di Tester
Selama pengujian, waktu disimulasikan berdasarkan data historis:
TimeLocal()
selalu sama denganTimeCurrent()
- Waktu server selalu sama dengan waktu GMT (
TimeGMT()
)
Artinya, semua fungsi waktu tersebut akan menampilkan waktu yang sama selama pengujian. Ini dilakukan dengan sengaja agar hasil pengujian konsisten, bahkan jika koneksi ke server terputus.
Objek Grafis dalam Pengujian
Saat mode visualisasi diaktifkan, EA berinteraksi dengan grafik nyata. Namun, jika tanpa visualisasi, EA bekerja pada grafik "virtual" yang tidak ditampilkan. Selama optimasi, objek grafis tidak didukung.
Penanganan Event di Tester
Event yang ditangani oleh Strategy Tester meliputi:
- Inisialisasi EA sebelum pemanggilan
OnInit()
- De-inisialisasi EA setelah
OnDeInit()
- Simulasi tick baru melalui
OnTick()
Selain itu, event Tester
ditangani melalui fungsi OnTester()
dan dipicu sebelum OnDeInit()
setelah pengujian selesai. Nilai dari OnTester()
akan digunakan sebagai Custom max criterion saat mengoptimalkan parameter input.
Catatan: Event Timer
dan ChartEvent
tidak ditangani dalam Strategy Tester.