Aku hanya ingin tahu tentang kalian di luar sana. Apakah ada orang di sini yang sangat sering menggunakan MetaTrader (untuk menulis MQL), tetapi sangat sedikit yang menggunakan cTrader (cAlgo)?

Selain keuntungan yang ditawarkan broker, saya merasa bahwa MetaTrader bukanlah platform terbaik untuk membangun EA. MQL = C , mereka menggunakan C sebagai kode dasar mereka. Itu tertulis di halaman dokumentasi mereka:
https://www.mql5.com/en/docs
Sedangkan cTrader (cAlgo) menggunakan C# sebagai kode dasarnya.

Saya seorang konsultan teknis penuh waktu, pengembang aplikasi, perancang web pemula, mengetahui sebagian besar teknologi pengembangan aplikasi terbaru. Saya telah melakukan ini selama 10 tahun dan menemukan bahwa C # dan Java keduanya adalah pesaing yang ketat. Keduanya masuk dalam 10 besar bahasa pemrograman terpopuler, bersama dengan Javascript, Scala, Go, Phyton. Tapi tidak satupun dari mereka adalah C . Menurut pengalaman saya (setelah menulis 3 EA), MQL sulit. Jika logika Anda sesederhana menghitung sesuatu, lalu buat pending order atau posisi berdasarkan pasar, MQL saja sudah cukup. Tapi begitu Anda masuk ke ide yang lebih kompleks, MQL tidak cukup... maaf untuk mengatakannya.


Ambil contoh salah satu EA saya, Tunnel Martingale (TM). Jika Anda mengikuti utas saya (
https://www.forexfabrikasi.com/tradi...ivots-win.html) di bagian komersial, sebenarnya dibangun menggunakan MQL. Karena logikanya sederhana! Mulai posisi pasar secara acak, lalu letakkan pending order di arah yang berlawanan, setelah pending order tercapai/dieksekusi, lalu letakkan pending order lain di arah yang berlawanan, dll.dst. Strategi hanyalah strategi, gagal, menyedot investasi hingga kering, lalu kembali ke papan gambar lagi.
Saat ide untuk ditingkatkan semakin maju, pengkodean dengan MQL semakin sulit. Salah satu ide untuk meningkatkan adalah, daripada menjalankan seri martingale waktu yang tidak terbatas dan tidak terbatas, kita dapat membatasi jangka waktu hanya pada tanggal dan waktu tertentu untuk interval/durasi tertentu saja. Sekarang inilah tangkapannya.
Cara C menangani tanggal dan waktu saat ini menggunakan tipe data kuno yang didasarkan pada bilangan bulat yang mewakili tick yang dihitung sejak 1 Januari 1970! Itu seperti beberapa hal pra-sejarah. Jadi, sekarang saya mengerti bahwa jika saya ingin menentukan tanggal dan waktu tertentu dari A ke B, saya harus mengetahui representasi centang dari tanggal tersebut.

Jadi, jika saya ingin menulis bahwa TM dimulai pada 31 Maret 2020 12:00:00, saya harus menulis 637212528000000000 menjadi parameter, variabel, atau metode komunikasi apa pun antara saya sebagai pengguna ke EA. Bukan itu, fungsi DateTime sangat terbatas di MQL.

Sekarang, tantangan lain adalah saya ingin memperkenalkan objek untuk tanggal, di parameter input. Tidak ada cara, baik MQL dan cAlgo untuk mendefinisikan parameter input yang kompleks. Tetapi seseorang dapat melakukannya dengan memperkenalkan konfigurasi file, seperti JSON atau XML. Di MQL, dibutuhkan beberapa baris hanya untuk membaca file. Anda perlu memahami konsep pointer, Anda perlu memeriksa apakah pegangan file ditutup, jika tidak ditutup Anda harus menutup pegangan, jika tidak akan macet dll.
Di cAlgo, tugas ini dapat dilakukan hanya dengan memanggil fungsi kemudian menetapkannya ke variabel. Hanya 1 baris.

Sekarang, berbicara tentang objek dalam dunia pemrograman, setelah kita membaca file konfigurasi, kita dapat mengurutkan akses konfigurasi menggunakan OOP, di mana di dalam objek juga terdapat beberapa array dari objek lain dll. OOP di C benar-benar membuang-buang waktu. Inilah alasannya:Anda tidak bisa begitu saja membaca XML atau JSON menjadi objek di C . Ada terlalu banyak langkah untuk mencapai ini, sementara di cAlgo dapat dilakukan dalam 2 baris minimal. Anda tidak bisa begitu saja mengurutkan array objek (dan ini bodoh). Anda dapat mengurutkan jika tipe data yang akan diurutkan adalah angka (int, long, short), bukan dengan tipe data lain seperti tanggal waktu. Dan penyortirannya sesederhana itu, tidak ada fungsi lain. Seseorang harus membuat fungsi penyortiran mereka sendiri, dan melakukan ini hanya membuang banyak waktu saya. Hanya 2 alasan itu, saya telah melepaskan peluang saya dan pindah ke cTrader.

Bukannya saya tidak mau belajar MQL. Tapi hei, menulis EA seharusnya seperti menulis aplikasi bisnis, harus kuat, cepat, cepat, sederhana, menjaga hal-hal yang kurang penting tetap berjalan. Kecuali, jika Anda menulis kode untuk mesin, barang robot, atau game, atau kode yang membutuhkan akses lebih cepat ke lapisan bahasa mesin, maka C adalah pilihan terbaik.

Bayangkan saja, Anda ingin pergi dari tempat Anda berdiri sekarang di Hawaii ke New York tujuan Anda. Dengan C# (atau cTrader/cAlgo), Anda hanya perlu menggunakan (atau membeli) moda transportasi apa pun yang tersedia di luar sana, mobil, tiket feri, tiket pesawat, bus, kereta api, apa saja untuk mencapai tujuan Anda dengan cepat. Dengan MQL, saya merasa seperti hidup di tahun 1781, di mana kita perlu membuat perahu dengan tangan kita sendiri untuk sampai ke sana.

Jadi, bagaimana pengalaman Anda, teman-teman?