1 Lampiran Saya baru-baru ini mendapat permintaan dari anggota untuk menunjukkan cara membuat DLL dengan jendela yang digunakan oleh EA daripada indior.
Seperti yang disebutkan sebelumnya di utas lain (dan kebanyakan orang tahu) Indiors berjalan di utas aplikasi utama MT4. Ini berarti bahwa jika Anda membuat jendela non modal di DLL Anda, mereka akan berfungsi dengan baik karena pesan jendela DLL akan diproses oleh aplikasi utama MT4.
EA di sisi lain, masing-masing berjalan di utasnya sendiri. MT4 tidak menyediakan loop penanganan pesan di dalam utas EA sehingga lebih bermasalah untuk menampilkan jendela DLL.
Jalan keluarnya adalah dengan membuat utas baru di DLL Anda yang akan menyediakan kemampuan pemrosesan pesan yang dibutuhkan jendela.
Sementara pengkodean DLL untuk berinteraksi dengan satu EA sedikit lebih mudah, contoh ini menunjukkan bagaimana menangani beberapa EA Menggunakan DLL dan jendela yang sama, dan dapat digunakan untuk pengguna EA tunggal atau ganda.
Saya telah mencoba untuk menjaga kode sesederhana mungkin sambil memberikan tingkat fungsionalitas yang layak, atau setidaknya untuk menunjukkan betapa fleksibelnya DLL dasar ini, sambil menyoroti jebakan dan menunjukkan cara menghindarinya.
Konversi ke kompiler C mana pun seharusnya tidak menyebabkan sakit kepala besar asalkan pembuat kode tahu cara membuat DLL dasar dan menjalankannya dalam Mt4 EA atau di dalam ruangan.
Singkatnya, kerangka DLL ini dapat dengan mudah diperluas untuk menghasilkan antarmuka pengguna yang kompleks (interaktif) untuk mengontrol atau meningkatkan EA apa pun.
Saya telah mengomentari kode sumber Delphi cukup luas, tetapi belum menambahkan banyak ke EA (MQ4) karena pendek dan cukup jelas.
Jika Anda tidak tahu ke mana file terlampir harus pergi maka Anda mungkin tidak boleh bermain-main dengannya, tetapi hanya demi itu, file-file berikut harus dimasukkan ke loions yang disebutkan:
File DLL MT4\ahli\perpustakaan
File MQ4 MT4\ahli
Semua file lainnya adalah kode Sumber proyek Delphi dan harus ditempatkan dalam satu folder.
Sebagai peringatan terakhir itu ditulis menggunakan Delphi V4 yang berjalan di Win XP Dengan MT4 Build 509. Saya tidak tahu apakah itu akan dikompilasi pada versi Delphi yang lebih baru atau apakah itu akan berjalan dengan benar pada versi windows yang lebih baru tetapi saya tidak melihat alasan mengapa itu tidak akan.
Saya harap ini membantu siapa pun di luar sana yang berjuang untuk mencapai apa yang bisa menyusahkan kode a$$.
************************************************** ** *************************************
Permintaan maaf untuk semua 7 pengunduh awal. Saya telah men-debug kode DLL dan menemukan dua kesalahan pada rilis awal.
Kesalahan ini adalah:
Bug : Pembebasan objek yang salah selama deint kecuali DLL diturunkan dari memori
Gejala : Jika Anda membuka EA ini dan mengkompilasi ulang file MQ4 maka itu tidak akan diinisialisasi dengan benar
Bug : Gagal menunggu utas DLL untuk membuat jendela DLL utama kami.
Gejala : Gagal menginisialisasi dengan benar dengan cara yang tidak dapat diprediksi dan seringkali tidak konsisten.
https://www.forexfabrikasi.com/attac...7577797109.zip