Welcome to our blog...

Welcome to our blog....

Disini Anda dapat sharing tentang semua hal yg berhubungan dengan bisnis dan investasi.

* Mungkin selama ini Anda mempunyai pertanyaan seputar investasi yang sedang atau akan Anda jalankan, silakan..
* Mungkin Anda mempunyai pengalaman atau tips berbisnis dan berinvestasi, silakan...

Rabu, 15 Juni 2011

Deteksi & Reparasi "ERROR" Lebih Dini

Perkembangan dalam bahasa pemrograman robot (MQL4) harus dilihat dengan beberapa sudut pandang. Penerapannya pun tidak mudah karena beberapa pertimbangan :
  1.  algoritma pada sistem trading relatif sulit serta berpotensi menimbulkan problem. Begitu banyak detail dan karakter algoritma robot yang perlu disesuiakan dengan lingkup Metatrader 4.
  2. menerjemahkan algoritma tersebut kedalm bahasa programming MQL4. Fasilitas 'compiler' memang memudahkan kita ketika menulis EA. Hanya dengan kli' compile' , maka semua laporan kesalahan sintaks pada kita akan tampil seketika. Namun permasalahannya, adalah jika kita berurusan dengan persepsi logika suatu robot , kesalahan yang muncul hanya bisa ditemukan melalui pengoperasian robot tersebut.
Bentuk Eror Fungsi Robot
Mari kita coba menganalisa error yang umum terjadi pada robot ( Expert Advisor) di Metatrader. Misalnya error pada fungsi operasi , akan sangat krusial efeknya tterhadap EA. BErikut ini adalah tipikal eror suatu EA yang tampak pda MQL4 :
  1. Error 130
-ERR_INVALID_STOPS
Terjadi saat EA berupaya menempatkan pending order yang terlampau dekat dengan harga di market. Situasi ini rentan merusak situasi EA. Misal : setelah membuka posisi yang menguntungkan, EA akan menutup profit setiap 150 poin. Namun jika pada percobaan selanjutnya terjadi 'error 130', kemudian harga berbalik ke level stop loss berikutnya, maka potensi profit asnda akan sirna seketika. Walaupun kemungkinan seperti itu terbuka, error jenis ini dapat dieliminasi sejak awal. Caranya dengan memasukkan suatu fungsi tambahan ke code robot yang akan memperhitungkan jarak minimal antara harga yang diterima dengan level stop / taking profit.

    2. Error 146
-ERR_TRADE_CONTEXTBUSY
kesalahan tidak bisa sepenuhnya dieliminasi . Contoh kasus : Ketika beberapa EA beroperasi dalam satu terminal pada proses trading, maka kita mungkin akan berhadapan dengan situasi dimana 1 robot sudah akan membuka posisi, sementara robot ke-2 hendak open posisi di saat bersamaan. Satu-satunya cara untuk mngatasinya adalah dengan memproses ulang semua error dengan memakai fungsi tambahan yang disebut LogError.

Parameter fungsi LogError ini dapat mendeteksi kapan error terjadi. Jika EA sedang memanggil fungsi OrderSend (misalnya di level haega tertentu) , maka kita memiliki peluang untuk menentukan secara tepat, kapan error itu terjadi. Parameter selanjutnya adalah deskripsi bentuk error dengan lebih detil, misalnya berbentuk keterangan 'Open LongTrade - Could not open order'. Tujuan dari memasukkan fungsi tambahan ini adalah untuk mendapat semua informasi lebih dini , yang diperlukan untuk menganalisa situasi, contohnya sebagai berikut :

ERROR: in openlongTrade()
ERROR: could not open order
ERROR: code=138 - requote

Dengan demikian, diadapat  kejelasan mengenai hal-hal sbb :
  1. Error terjadi pada fungsi tertentu dari robot (contoh diatas terjadi saat melakukan posisi Buy).
  2. Error yang terjadi merujuk pada pembukaan / penutupan posisi.
  3. Deskripsi error yang muncul.
Jika kita bisa nsudah bisa mendeteksi error, maka langkah yang harus dilakukan adalah mengirimkan analisis dituasi pada saat pengoperasian robot tersebut ke dalam LogFile. File tersebut bisa berbentuk file Excel. Selanjutnya, kita proses file tersebut sehingga bisa diputuskan apakah harus kita abaikan atau terapkan improvisasi lebih lanjut pada code robot.


Adapun dignosa yang lebih rumit harus dilakukan saat terjadi error logika, seperti fungsi OrderSend, OrderModify dan OrderClose. Demi efisiensi waktu dan tenaga dalam mendeteksi errror logika, kita dapat menggunakan script tambahan untuk merekam keseluruhan error yang terjadi ketika pengujian robot. tugas fungsi deteksi error ini dapat diprogram dalam bentuk script yang bisa dikonversi ke file excel sehingga tugas deteksi error robot dapat dituntaskan dengan cara yang elegan. Kami sarankan Anda untuk menjalankan EA pada strategy tester / fasilitas pengujian di MetaTrader terlebih dahulu, dengan pengggunaan periode yang cukup panjang . Kemudian analisa LogFile yang dihasilkan oleh script dengan memakai metode yang dijelaskan diatas.

Hal ini memungkinkan kita untuk mendeteksi sebagian besar kesalahan sedini  ungkin, sebelum EA dijalankan di akun Demo. Fungsi tambahan berupa script dan metode tadi dapat menyederhanakan proses deteksi Error dan pemulihan kode EA/ robot, yang ditulis dalam bahasa pemrograman MQL4. Untuk kenyamanan Anda, fungsi yang dijelaskan diatas dapat anda miliki dengan mengirimkan email ke arinda_widyaningtyas@yahoo.com dengan subject : REQUEST Debug.MQH

Cara penggunaan script mudah, cukup dengan menambahkan file tersebut ke EA Anda. Dengan men-download file yang dikirimkan dari email ke dalam folder : Expert/Include. Semoga melalui metode yang dideskripsikan, kekhawatiran trader terhadap error pada robot bisa diantisipasi.

Selamat mencoba..!!










    Tidak ada komentar:

    Posting Komentar