EA emas MT4 tiada log pada hujung minggu, adakah ia tersekat? Bezakan sebut harga dan peristiwa pemasa dahulu
OnTick bergantung pada sebut harga baharu bagi simbol carta, OnTimer memerlukan langganan program. Siasat mengikut titik masuk peristiwa, lokasi log dan rekod permulaan semula, elakkan daripada terus menganggap kerosakan hanya kerana tiada output semasa pasaran tutup.
Pengarang: Thomas|Amalan MT4|14 November 2026
Ringkasan: Membuka terminal pada hujung minggu, antara muka EA masih ada tetapi tiada log baharu untuk masa yang lama, tidak boleh hanya berdasarkan fenomena ini untuk menentukan program tersekat. Siasatan pertama harus menjelaskan peristiwa apa yang mencetuskan program, sama ada ia benar-benar akan mencetak log pada titik masuk tersebut, kemudian periksa keadaan terminal. Artikel ini tidak menguji program dengan pesanan langsung akaun sebenar, dan tidak menganggap carta alir sebagai bukti bahawa mana-mana EA telah lulus ujian.
Tiada sebut harga baharu, peristiwa sebut harga mungkin tidak berlaku
Dokumentasi MQL4 rasmi MetaQuotes menyatakan bahawa apabila simbol carta yang dilampirkan EA menerima sebut harga baharu, barulah peristiwa NewTick yang berkaitan dijana dan memanggil fungsi pengendali OnTick yang diisytiharkan dengan betul. Jika program menulis semakan dan log di dalam titik masuk ini, dalam tempoh tiada sebut harga baharu, mungkin tiada rekod pelaksanaan baharu.
Ini tidak bermakna semua EA mesti menunggu sebut harga. Program juga boleh menggunakan titik masuk seperti pemasa atau peristiwa carta. Oleh itu tidak boleh melihat "hujung minggu" lalu menjelaskan semua kesenyapan secara umum, apalagi menganggap fenomena simbol lain yang masih dikemas kini sebagai bukti bahawa carta emas semasa pasti menerima sebut harga.
Kenal pasti dahulu peristiwa yang ditunggu oleh program

Gambar ialah ilustrasi pengajaran carta alir asal, bukan data pasaran sebenar, dan tidak menunjukkan akaun dagangan sebenar. Laluan pertama bergantung pada sebut harga baharu simbol carta; laluan kedua bergantung pada program yang berjaya melanggan pemasa. Peristiwa pemasa boleh mencetuskan logik semakan, tetapi tidak bermakna pasaran semasa boleh melaksanakan dagangan, program tetap mesti menyemak syarat dagangan dan kesahihan data.
Pihak rasmi mengesyorkan melanggan pemasa semasa permulaan, dan membatalkan langganan semasa nyahpasang. Hanya menulis fungsi OnTimer tanpa melanggan, tidak dapat menunjukkan ia akan berjalan secara berkala. Nama fungsi, parameter dan jenis pulangan juga mesti memenuhi keperluan pengendali peristiwa, sebarang kesilapan ejaan mungkin menyebabkan titik masuk yang dijangka tidak dipanggil.
Bagaimana pengguna biasa menyiasat langkah demi langkah
Semak dahulu akaun, pelayan, nama simbol carta dan keadaan sambungan semasa, pastikan terminal yang dilihat adalah betul. Rekod masa sebut harga terakhir dan masa dagangan platform, jangan guna jam komputer menggantikan masa data pasaran pelayan. Penutupan biasa pada hujung minggu juga tidak bermakna jadual dagangan produk lain adalah sama sepenuhnya, harus merujuk kepada pengumuman platform tertentu.
Kemudian lihat log berkaitan seperti Experts dan Journal, simpan beberapa rekod permulaan, nyahpasang atau ralat terakhir. Perhatikan penapisan log, tarikh dan sama ada terminal lain telah dilihat. Jika EA sendiri hanya mencetak apabila syarat dagangan berlaku, tiada rekod baharu mungkin hanya bermakna syarat cetakan tidak dipenuhi, tidak boleh berdasarkan ini membuktikan program tidak pernah berjalan.
Seterusnya periksa sama ada penerangan EA mengandungi semakan berkala, output denyutan jantung atau mekanisme penyelenggaraan hujung minggu. Tanpa kod sumber, serahkan versi, parameter, simbol carta, masa sebut harga terakhir dan log kepada penyedia untuk semakan, jangan mengandaikan semua produk menggunakan struktur peristiwa yang sama.
Apa yang perlu diutamakan untuk pengesahan apabila ada kod sumber
Dalam persekitaran demo, semak pengisytiharan titik masuk seperti OnInit, OnTick, OnTimer dan langganan yang perlu, serta gunakan log diagnostik dengan kekerapan sederhana untuk mengesahkan laluan sebenar. Log boleh merekod jenis peristiwa, simbol dan masa data, elakkan hanya menulis "normal" tanpa konteks yang boleh disemak semula. Jangan tulis kata laluan akaun atau kelayakan lain ke dalam output diagnostik.
Terminal berjalan, carta dimuatkan, peristiwa dicetuskan dan pelaksanaan dagangan adalah lapisan yang berbeza. Pemasa masih mengeluarkan output tidak dapat membuktikan data pasaran segar, juga tidak dapat membuktikan pesanan pasti boleh dihantar. Apabila peristiwa sebut harga tidak dicetuskan, lebih-lebih lagi tidak boleh melonggarkan kebenaran dagangan atau menghantar pesanan berulang untuk mengesahkan sama ada program masih hidup.
Mengapa menukar tempoh berulang kali mungkin mengganggu siasatan
Dokumentasi rasmi menyatakan bahawa perubahan simbol carta atau tempoh, perubahan parameter input, akan melibatkan nyahpasang dan permulaan semula. Menukar berulang kali mungkin menyebabkan masalah asal ditutupi oleh proses permulaan semula yang baharu, dan juga mungkin mencetuskan program memuat semula keadaan. Harus simpan log dan parameter dahulu, kemudian sahkan dalam persekitaran selamat mengikut arahan, bukan terus melampirkan semula EA untuk melihat sama ada ia kadangkala pulih.
EA yang berbeza mempunyai pelaksanaan berbeza untuk pemulihan kedudukan, ketekalan pemboleh ubah dan perlindungan pesanan berulang. Artikel ini tidak menjamin permulaan semula adalah selamat, tidak mengesyorkan nyahpasang atau mula semula secara membuta tuli apabila terdapat pendedahan sebenar. Sebarang operasi penyelenggaraan harus terlebih dahulu menjelaskan siapa yang menguruskan kedudukan.
Bagaimana menentukan siasatan telah selesai
Jika telah disahkan simbol semasa tiada sebut harga baharu, logik hanya terletak pada titik masuk sebut harga, dan tiada bukti ralat lain, boleh direkodkan sebagai menunggu data pasaran, bukan mendakwa program telah dibaiki. Jika titik masuk pemasa sepatutnya berjalan tetapi terus tiada output, maka teruskan semak langganan, hasil permulaan dan ralat program, tidak boleh menggunakan pasaran tutup untuk menjelaskan segala-galanya.
Selepas data pasaran pulih, juga harus semak cap masa dan keadaan dahulu, kemudian pastikan program mengendalikan peristiwa baharu seperti yang dijangka. Pemulihan peristiwa tidak membuktikan strategi dagangan mempunyai kelebihan keuntungan, pesanan masih menghadapi risiko spread, gelinciran dan pelaksanaan. Matlamat siasatan adalah untuk mencari di lapisan mana program sebenarnya berhenti, bukan mendapatkan jawapan melalui risiko akaun sebenar.