Cara membuat cBot melalui ChatGPT
AI generatif sedang berkembang pesat dan membuat cBot tanpa harus menulis satu baris kode pun bukan lagi mimpi, melainkan kenyataan. Dalam artikel ini dan video yang menyertainya, kami akan menunjukkan kepada Anda bagaimana Anda dapat membuat cBot menggunakan ChatGPT. Kami juga akan menunjukkan cara mengevaluasi kode cBot yang disediakan oleh ChatGPT dan memastikan bot buatan AI Anda dapat beroperasi hanya dalam beberapa menit.
Buat prompt yang tepat
Untuk tujuan video ini, kami akan menggunakan model GPT-3.5. Model ini gratis untuk semua orang dan, meskipun kurang dalam fitur dibandingkan dengan model GPT yang lebih baru, tetap menghasilkan hasil yang bagus.
Bagian pertama dalam membuat cBot yang hebat dengan ChatGPT adalah mengetik prompt yang tepat. Berikut adalah beberapa aturan untuk membuat prompt yang baik:
1. Dorong ChatGPT untuk mencoba berperan sebagai pengembang cBot profesional.
Anda dapat mencapai ini dengan mengetik prompt awal dengan kata-kata "Mari kita bermain game di mana Anda adalah pengembang algo yang berkualifikasi untuk cTrader..." atau sesuatu seperti "Berpura-puralah menjadi pengembang profesional cBot untuk cTrader..."
2. Bersikaplah spesifik.
Semakin banyak detail yang Anda berikan kepada ChatGPT, semakin baik. Prompt seperti "Buatkan saya cBot yang menguntungkan..." akan menghasilkan banyak kebingungan pada AI.
Kami menyarankan untuk menentukan setiap bagian cBot Anda sedetail mungkin. Pertimbangkan parameter apa yang harus dimilikinya, kondisi apa yang harus diresponnya, dan operasi trading apa yang harus dilakukannya. Jika Anda membuat panel trading kustom, pertimbangkan elemen UI apa yang harus dimilikinya dan di mana elemen tersebut harus ditempatkan.
3. Bersikaplah sopan dan hormat.
Ini mungkin terdengar mengejutkan tetapi penelitian telah menunjukkan bahwa bersikap sopan kepada ChatGPT sebenarnya meningkatkan kualitas output. Sertakan frasa seperti "Saya akan sangat menghargai jika...", "Akan sangat baik jika..." atau sesuatu yang serupa.
Buat cBot trading berdasarkan warna
Untuk permulaan, kita hanya ingin membuat cBot sederhana yang menempatkan order pasar baru pada setiap pembukaan bar. Arah order tergantung pada apakah bar sebelumnya berwarna hijau atau merah. Jika bar berwarna merah, kita ingin menempatkan order jual dan jika berwarna hijau, kita ingin menempatkan order beli.
Berikut adalah cara kita dapat melakukannya dengan memberikan prompt yang tepat.
- Kalimat pembuka: "Berpura-puralah menjadi pengembang profesional cBot untuk cTrader, tulis kode yang sangat sederhana dan mudah dipahami."
- Persyaratan spesifik: "Buat sebuah cBot. Pada setiap bar, cBot harus menempatkan order pasar baru tanpa mekanisme proteksi. Volume order (dalam unit) harus menjadi parameter yang dapat disesuaikan. Order beli harus ditempatkan jika bar sebelumnya berwarna hijau. Order jual harus ditempatkan jika bar sebelumnya berwarna merah."
- Kesopanan: "Saya akan sangat menghargai jika Anda melakukan tugas ini, terima kasih!"
Kode yang dihasilkan ChatGPT mungkin bervariasi tetapi dalam hal apa pun kita dapat menyalin dan menempelkannya ke dalam jendela editor kode untuk melihat apakah kode tersebut benar dan untuk melihat apakah kode tersebut mengimplementasikan logika yang kita inginkan.
Biasanya, hanya ada beberapa kesalahan yang tidak kritis yang perlu diperbaiki. Dalam kasus kami, satu-satunya hal yang perlu diperbaiki adalah mengubah objek Symbol dalam metode ExecuteMarketOrder menjadi string SymbolName. Berikut adalah kode final yang kami dapatkan setelah melakukan semua ini.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
Seperti biasa, kita menyimpan dan mem-build bot tersebut. Di aplikasi Trade, kita melampirkan instance bot ke grafik dan melihat apakah bot tersebut berfungsi sesuai yang diinginkan. Bot tersebut bekerja dengan sempurna dan bereaksi terhadap warna bar sebelumnya dengan menempatkan order baru. Volume order juga merupakan parameter yang dapat disesuaikan.
Catatan
Perhatikan bahwa kita bahkan tidak perlu membaca kode yang dihasilkan oleh ChatGPT. Kita hanya memperbaiki setiap peringatan yang ditampilkan di editor kode dan kemudian meluncurkan bot tersebut.
Membuat cBot trading tren
Meskipun cBot sebelumnya bekerja dengan baik, cBot tersebut menggunakan logika sederhana dan tidak memperhatikan tren pasar. Kita akan mencoba membuat sesuatu yang lebih kompleks menggunakan pendekatan prompting yang sama seperti sebelumnya.
- Kalimat awal: "Mari kita bayangkan Anda adalah pengembang cBot yang terampil untuk cTrader. Saya akan menjadi klien Anda."
- Persyaratan spesifik: "Buat sebuah cBot. Pada setiap bar, cBot harus memeriksa apakah moving average 50 hari berada di atas atau di bawah moving average 200 hari. Jika di atas, bot harus memasang order beli. Jika di bawah, bot harus memasang order jual. Bot tidak boleh memasang order jika sudah ada posisi terbuka dengan arah yang sama. Volume order harus menjadi parameter yang dapat disesuaikan."
- Kesopanan: "Terima kasih atas bantuannya!"
Sekali lagi, kita akan menyalin dan menempelkan kode yang diberikan oleh ChatGPT ke dalam jendela editor kode dan mencoba membangun bot. Berikut adalah semua error build yang kita dapatkan:
- Kode tersebut menggunakan anggota API
MarketSeriesyang sudah usang. Kita dapat menggantinya dengan koleksiBars.ClosePrices. - Kita sekali lagi harus mengganti argumen
SymboldenganSymbolName. - Kita juga harus menghapus beberapa argumen yang tidak perlu dari metode
ExecuteMarketOrderkarena tidak cocok dengan overload metode yang tersedia.
Kita juga dapat melihat bagaimana logika kita direalisasikan. Dalam metode OnStart(), kita menginisialisasi moving average kita. ChatGPT membuat periode moving average sebagai parameter yang dapat disesuaikan meskipun kita tidak memintanya. Kita dapat membiarkannya seperti itu tanpa mempengaruhi logika inti.
Namun, dalam metode OnBar(), kita dapat melihat bahwa bot hanya memasang order baru ketika tidak ada posisi terbuka (Positions.Count ==0). Ini bukan yang kita inginkan karena kita juga ingin memeriksa arah posisi. Kita dapat sedikit memodifikasi kode sehingga kita berakhir dengan bot berikut.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | |
Kita telah menggunakan metode Positions.FindAll(string label) untuk mendapatkan semua posisi dengan label tertentu dan menghitung jumlahnya.
Ketika kita membangun bot, kita dapat menambahkannya ke chart. Kita juga akan menambahkan moving average 50 dan 200 hari sehingga kita dapat mengevaluasi perilaku cBot. Setelah kita menunggu sebentar, kita dapat melihat bahwa bot berfungsi sesuai harapan. Order baru ditempatkan saat diperlukan tetapi tidak lebih dari satu posisi terbuka ada dalam arah tertentu.
Membuat cBot menggunakan AI lain
Ringkasan
ChatGPT dapat menjadi alat yang berharga ketika Anda perlu membuat cBot dengan cepat dengan logika yang didefinisikan secara tepat. Meskipun ChatGPT menghasilkan beberapa kesalahan, biasanya tidak signifikan dan dapat diperbaiki dengan cepat.
