Jelajahi fungsi baru editor strategi FMZ: Bagaimana ChatGPT meningkatkan produktivitas kuantitatif Anda secara signifikan

Penulis:Lydia, Dibuat: 2023-04-03 13:32:37, Diperbarui: 2023-09-18 19:59:09

img

Jelajahi fungsi baru editor strategi FMZ: Bagaimana ChatGPT meningkatkan produktivitas kuantitatif Anda secara signifikan

Untuk pemula perdagangan kuantitatif dan programmatic, apa kesulitan terbesar dalam belajar?

  • Kekurangan pengetahuan dasar: termasuk konsep dasar, aturan pasar, pengetahuan perdagangan, pemikiran strategis, dll.
  • Dasar pemrograman yang buruk: termasuk ekspresi logis, desain dan penulisan program, debugging program dan koreksi kesalahan.
  • Pemikiran logis yang lemah: proses berpikir dapat menyebabkan kebingungan dengan mudah, dan semakin banyak Anda berpikir, semakin bingung Anda.
  • Kesulitan belajar sendiri: Ketika menghadapi masalah, sulit untuk mengetahui dari mana harus mulai menyelesaikannya, dan arah pencarian masalah bahkan mungkin tidak jelas.

Dengan perkembangan teknologi AI, solusi untuk masalah ini dapat ditemukan sampai batas tertentu.ChatGPTDengan platform FMZ yang baru upgrade untuk editor strategi dan integrasi dengan ChatGPT, itu meningkatkan produktivitas kuantifikasi sangat.Fungsi baru editor strategi FMZBersama-sama!

Gunakan ChatGPT untuk membantu dalam desain kode

Meskipun kemampuan ChatGPT saat ini sudah sangat kuat, dan dapat memahami pertanyaan manusia dengan sangat baik, jawaban yang diberikan masih sangat sensitif terhadap faktor-faktor sepertikelengkapan dan keakuratan deskripsi pertanyaan. Jika skenario yang dijelaskan atau isi pertanyaan tidak akurat, ChatGPT mungkin tidak dapat memberikan jawaban yang sempurna. Oleh karena itu, ketika menggunakannya untuk memecahkan beberapa masalah, perlu untuk mencoba untuk mengekspresikannya dengan benar dan lengkap.

Selanjutnya, kita akan menggunakan fungsi ChatGPT dari editor strategi platform FMZ untuk memecahkan masalah desain kode.

1. memanggil ChatGPT

img

Klik kanan pada ruang kosong, pilih opsi ChatGPT dan klik untuk memanggilChatGPT, ataumenggunakan Ctrl+K untuk memanggil ChatGPT.

2. Teknik mengajukan pertanyaan

Jika saya seorang pemula perdagangan kuantitatif sekarang, saya memiliki persyaratan:

Gunakan satu menit K-line untuk mensintesis setiap periode K-line data.

Sebagai pemula, kemampuan pemrograman saya buruk, dan saya benar-benar tidak tahu cara menulis algoritma seperti itu. Di masa lalu, saya hanya bisa mencari informasi dan meminta bantuan para ahli. Sekarang, dengan ChatGPT, saya dapat meminta jawabannya secara langsung. Tentu saja, seperti yang disebutkan di atas, menggambarkan persyaratan secara langsung: Menggunakan data K-line satu menit untuk mensintesis data K-line periode. GPT tidak mungkin memberi Anda jawaban yang dapat digunakan 100%, jadi Anda masih perlu mencoba yang terbaik untuk menggambarkan masalah secara menyeluruh.

Jadi mari kita membuat deskripsi persyaratan ini sedikit lebih lengkap:

 > On the FMZ platform, calling the exchange.GetRecords(60) function can obtain one-minute K-line data, and the data structure is: [{
 > Time : Millisecond timestamp, // Start time of the period
 > Open : 1000,
 > High : 1500,
 > Low : 900,
 > Close : 1200,
 > Volume : 1000000
 > }, ...]
 > Please design an algorithm that uses one-minute K-line data to synthesize any minute's K-line data. For periods that can be divided by 60 minutes, start counting from the whole point of 0 minutes. Implement it in Javascript language, write this algorithm as a separate function, test it in the function main() and use $.PlotRecords(KLineData, "name") for drawing.

Setelah memanggil ChatGPT, Anda dapat mengisi konten pertanyaan yang dioptimalkan yang disebutkan di atas.

img

ChatGPT mulai bekerja.

img

Tunggu sampai selesai menulis.

img

Kadang-kadangChatGPTmenambahkanimgsimbol untuk membungkus kode, yang dalam markdown menunjukkan bahwa isi yang dibungkus adalah kode. jadi kita hanya perlu menghapus baris pertama dan terakhir. karena saya memintanya untuk menggunakan$.PlotRecords(KLineData, "name")Untuk menggambar, strategi perlu merujuk perpustakaan gambar untuk menggambar. Tujuan menggambar adalah untuk memverifikasi apakah data K-line yang disintesis oleh kode Chat GPTs benar. Mengenai apa itu perpustakaan template, saya tidak akan menguraikan di sini; Anda dapat merujuk ke dokumentasi API FMZ untuk informasi lebih lanjut,Alamat Perpustakaan Plot.

Kode yang diberikan olehChatGPTSaya menetapkan periode K-line default dari sistem backtesting sebagai 5 menit, yang digunakan untuk membandingkan dengan grafik K-line yang diambil dari data K-line yang dihitung oleh algoritma Chat GPT.

img

3. Backtest test code yang diberikan oleh ChatGPT

img

img

Secara awal, tampaknya algoritma yang diberikan oleh ChatGPT untuk mensintesis 5-menit K-line dari 1-menit K-line adalah benar.

4. kode lengkap yang ditulis oleh ChatGPT:

/*
Synthesize arbitrary minute K-line data
@param {Array} records - One-minute K-line data
@param {Number} period - Synthetic period, unit in minutes
@return {Array} - Synthesized K-line data
*/
function composeKLineData(records, period) {
  var result = [];
  var index = 0;
  var open = records[0].Open;
  var high = records[0].High;
  var low = records[0].Low;
  var close = records[0].Close;
  var volume = records[0].Volume;
  var time = records[0].Time - records[0].Time % (period * 60 * 1000);
  for (var i = 1; i < records.length; i++) {
    var record = records[i];
    if (record.Time < time + period * 60 * 1000) {
      high = Math.max(high, record.High);
      low = Math.min(low, record.Low);
      close = record.Close;
      volume += record.Volume;
    } else {
      result[index] = {
        Time: time,
        Open: open,
        High: high,
        Low: low,
        Close: close,
        Volume: volume
      };
      index++;
      open = record.Open;
      high = record.High;
      low = record.Low;
      close = record.Close;
      volume = record.Volume;
      time = record.Time - record.Time % (period * 60 * 1000);
    }
  }
  result[index] = {
    Time: time,
    Open: open,
    High: high,
    Low: low,
    Close: close,
    Volume: volume
  };
  return result;
}

function main() {
  var records = exchange.GetRecords(60);
  var kLineData = composeKLineData(records, 5); // Synthesize 5-minute K-line data
  $.PlotRecords(kLineData, "KLineData");
}

Gunakan ChatGPT untuk menjelaskan kode

FMZs terintegrasi ChatGPT tidak hanya membantu Anda menulis kode, tetapi juga membantu Anda menjelaskan kode.composeKLineDatafungsi dalam kode yang baru saja ditulis oleh ChatGPT, klik kanan untuk menampilkan menu:

img

Gunakan ChatGPT untuk memberikan saran dan mengoptimalkan kode

Bahkan ChatGPT dapat memberikan saran optimasi dan kode yang dioptimalkan.

img

Fungsi lain ditambahkan ke editor

Pembaruan editor FMZ, selain menambahkan fungsi ChatGPT. Ini juga mengoptimalkan dan meningkatkan pengalaman pemrograman online, menambahkan banyak fungsi yang nyaman.

Lihat kombinasi pintasan

Klik kanan pada ruang kosong atau saat memilih kode untuk menampilkan menu.

img

Ini menampilkan berbagai kombinasi tombol jalan pintas.

img

Mengubah nama variabel

Mengganti nama Simbol untuk memodifikasi nama variabel lokal.

img img

Itu hanya mengubah nama variabelrecordsdalammainfungsi gambar di atas.

Mengubah semua konten yang sama

Ubah Semua Kejadian, pilih nama variabel, kata, dan mengedit semua konten yang sama dalam teks secara bersamaan.

img img

Format (optimasi kode, format penyelarasan otomatis)

Format Pilihan, format kode yang dipilih.

Format dokumen, format semua kode.

img

Pergi ke Definisi, Referensi

Pergi ke Definisi: Pergi ke Definisi Pergi ke Referensi: Pergi ke Referensi Pergi ke Simbol...: Pergi ke nama variabel, nama fungsi, dll.

img

Peek Definisi, Peek Referensi

Peek Definition: Definition preview, melihat definisi kode yang dipilih tanpa meninggalkan baris kode saat ini. Lihat Referensi: Pratinjau kutipan, melihat referensi untuk baris kode saat ini dalam baris kode lain tanpa meninggalkan baris kode saat ini, dapat pergi dengan cepat, untuk memahami logika kode dan struktur yang lebih baik.

img


Berkaitan

Lebih banyak