Cara mencipta cBot melalui ChatGPT
Kecerdasan buatan generatif semakin meningkat dan mencipta cBot tanpa perlu menulis satu baris kod pun bukan lagi impian, ia adalah realiti. Dalam artikel ini dan video yang berkaitan, kami akan menunjukkan kepada anda bagaimana anda boleh mencipta cBot menggunakan ChatGPT. Kami juga akan menunjukkan cara anda boleh menilai kod cBot yang disediakan oleh ChatGPT dan memastikan bot yang dijana AI anda dapat beroperasi hanya dalam masa beberapa minit.
Cipta arahan yang betul
Untuk tujuan video ini, kami akan menggunakan model GPT-3.5. Ia percuma untuk semua orang dan, walaupun kekurangan ciri berbanding model GPT yang lebih baharu, ia menghasilkan keputusan yang hebat.
Bahagian pertama dalam mencipta cBot yang hebat dengan ChatGPT adalah menaip arahan yang betul. Berikut adalah beberapa peraturan untuk arahan yang baik:
1. Galakkan ChatGPT untuk cuba berlakon sebagai pembangun cBot profesional.
Anda boleh mencapai ini dengan menaip arahan awal dengan perkataan "Mari kita bermain permainan di mana anda adalah pembangun algo yang berkelayakan untuk cTrader..." atau sesuatu seperti "Berpura-pura menjadi pembangun profesional cBot untuk cTrader..."
2. Bersikap spesifik.
Semakin banyak butiran yang anda berikan kepada ChatGPT, semakin baik. Arahan seperti "Cipta cBot yang menguntungkan untuk saya..." akan mengakibatkan banyak kekeliruan pada pihak AI.
Kami mengesyorkan untuk menyatakan setiap bahagian cBot anda dengan sepersisnya yang mungkin. Pertimbangkan parameter apa yang perlu ada, keadaan apa yang perlu direspons, dan operasi perdagangan apa yang perlu dilakukan. Jika anda mencipta panel dagangan tersuai, pertimbangkan elemen UI apa yang perlu ada dan di mana ia perlu diletakkan.
3. Bersopan santun dan hormat.
Ini mungkin kedengaran mengejutkan tetapi penyelidikan telah menunjukkan bahawa bersopan santun kepada ChatGPT sebenarnya meningkatkan kualiti output. Sertakan frasa seperti "Saya akan menghargai jika...", "Akan bagus jika..." atau sesuatu yang serupa.
Cipta cBot perdagangan warna
Untuk permulaan, kita hanya mahu mencipta cBot mudah yang meletakkan pesanan pasaran baharu pada setiap pembukaan bar. Arah pesanan bergantung pada sama ada bar sebelumnya hijau atau merah. Jika bar itu merah, kita mahu meletakkan pesanan jual dan jika ia hijau, kita mahu meletakkan pesanan beli.
Berikut adalah cara kita boleh melakukannya dengan memberikan arahan yang betul.
- Ayat permulaan: "Berpura-pura menjadi pembangun profesional cBot untuk cTrader, tulis kod yang sangat mudah dan boleh difahami."
- Keperluan khusus: "Cipta cBot. Pada setiap bar, ia harus meletakkan pesanan pasaran baharu tanpa mekanisme perlindungan. Volum pesanan (dalam unit) harus menjadi parameter yang boleh disesuaikan. Pesanan beli harus diletakkan jika bar sebelumnya hijau. Pesanan jual harus diletakkan jika bar sebelumnya merah."
- Kesopanan: "Saya sangat menghargai jika anda melakukan tugas ini, terima kasih!"
Kod tepat yang dihasilkan oleh ChatGPT mungkin berbeza-beza tetapi dalam apa jua keadaan kita boleh menyalin dan menampal kod tersebut ke dalam tetingkap penyunting kod untuk melihat sama ada ia betul dan untuk melihat sama ada ia melaksanakan logik yang kita inginkan.
Biasanya, hanya terdapat beberapa ralat yang tidak kritikal yang perlu diperbaiki. Dalam kes kami, satu-satunya perkara yang perlu diperbaiki adalah menukar objek Symbol dalam kaedah ExecuteMarketOrder kepada rentetan SymbolName. Berikut adalah kod akhir yang kami dapat selepas 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 simpan dan bina bot tersebut. Dalam aplikasi Trade, kita lampirkan contoh bot ke carta dan lihat sama ada ia berfungsi seperti yang dikehendaki. Bot tersebut berfungsi dengan sempurna dan bertindak balas terhadap warna bar yang lalu dengan meletakkan pesanan baharu. Volum pesanan juga merupakan parameter yang boleh disesuaikan.
Nota
Perhatikan bahawa kita tidak perlu membaca kod yang dihasilkan oleh ChatGPT. Kita hanya memperbaiki setiap amaran yang dipaparkan dalam penyunting kod dan kemudian melancarkan bot tersebut.
Cipta cBot perdagangan trend
Walaupun cBot sebelumnya berfungsi dengan baik, ia menggunakan logik mudah dan tidak memberi perhatian kepada trend pasaran. Kita akan cuba mencipta sesuatu yang lebih kompleks menggunakan pendekatan arahan yang sama seperti sebelum ini.
- Ayat permulaan: "Mari kita bayangkan anda adalah pembangun cBot yang mahir untuk cTrader. Saya akan menjadi pelanggan anda."
- Keperluan khusus: "Cipta cBot. Pada setiap bar, ia harus memeriksa sama ada purata bergerak 50 hari berada di atas atau di bawah purata bergerak 200 hari. Jika ia di atas, bot harus meletakkan pesanan beli. Jika ia di bawah, bot harus meletakkan pesanan jual. Bot tidak harus meletakkan pesanan jika sudah terdapat posisi terbuka dalam arah yang sama. Volum pesanan harus menjadi parameter yang boleh disesuaikan."
- Kesopanan: "Terima kasih atas bantuan!"
Sekali lagi, kita akan menyalin dan menampal kod yang diberikan kepada kita oleh ChatGPT ke dalam tetingkap penyunting kod dan cuba membina bot tersebut. Berikut adalah semua ralat pembinaan yang kita dapat:
- Kod tersebut menggunakan ahli API
MarketSeriesyang sudah ketinggalan zaman. Kita boleh menggantikannya dengan koleksiBars.ClosePrices. - Kita sekali lagi perlu menggantikan argumen
SymboldenganSymbolName. - Kita juga harus memadamkan beberapa argumen yang tidak diperlukan daripada kaedah
ExecuteMarketOrderkerana ia tidak sesuai dengan mana-mana penindihan kaedah yang tersedia.
Kita juga boleh melihat bagaimana logik kita direalisasikan. Dalam kaedah OnStart(), kita mengawalkan purata bergerak kita. ChatGPT menjadikan tempoh purata bergerak sebagai parameter yang boleh disesuaikan walaupun kita tidak memintanya. Kita boleh membiarkannya seperti itu tanpa menjejaskan logik teras.
Walau bagaimanapun, dalam kaedah OnBar(), kita boleh lihat bahawa bot hanya meletakkan pesanan baharu apabila tiada posisi terbuka (Positions.Count ==0). Ini bukan apa yang kita mahu kerana kita juga mahu memeriksa arah posisi. Kita boleh mengubah sedikit kod supaya 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 kaedah Positions.FindAll(string label) untuk mendapatkan semua posisi dengan label tertentu dan mengira jumlahnya.
Apabila kita membina bot, kita boleh menambahkannya ke carta. Kita juga akan menambah purata bergerak 50 dan 200 hari supaya kita boleh menilai tingkah laku cBot. Selepas kita menunggu sebentar, kita boleh lihat bahawa bot berfungsi seperti yang diharapkan. Pesanan baharu diletakkan apabila diperlukan tetapi tidak lebih daripada satu posisi terbuka wujud dalam arah tertentu.
Cipta cBot menggunakan AI lain
Ringkasan
ChatGPT boleh menjadi alat yang berharga apabila anda perlu mencipta cBot dengan logik yang ditakrifkan secara tepat dengan cepat. Walaupun ChatGPT menghasilkan beberapa ralat, ia biasanya tidak ketara dan boleh diperbaiki dengan cepat.
