[TOC]

Apakah kesukaran terbesar untuk pemula dalam perdagangan kuantitatif dan perdagangan program? Secara umumnya, terdapat beberapa.
Dengan perkembangan teknologi AI, penyelesaian kepada masalah di atas boleh didapati pada tahap tertentu. Popular baru-baru iniChat GPTIa boleh digunakan sebagai alat untuk belajar, menyelidik dan mencipta perdagangan kuantitatif. Dengan peningkatan baharu editor strategi pada platform FMZ, Chat GPT juga telah disambungkan, yang telah meningkatkan produktiviti kuantitatif dengan sangat baik. Mari kita terokai bersama-sama.Ciri baharu Editor Strategi FMZ!
Walaupun fungsi Chat GPT sudah sangat berkuasa dan tahap pemahamannya terhadap soalan yang dibangkitkan oleh manusia sudah sangat tinggi. Tetapi jawapan yang diberikannya masihKelengkapan huraian masalah、Ketepatan peneranganFaktor seperti input dan output pengguna adalah sangat sensitif Jika senario atau kandungan soalan yang diterangkan tidak tepat, Chat GPT tidak akan dapat memberikan jawapan yang sempurna. Oleh itu, apabila menggunakannya untuk menyelesaikan beberapa masalah, anda perlu cuba menyatakannya dengan betul dan lengkap.
Seterusnya, kami akan menggunakan fungsi Chat GPT editor strategi platform FMZ untuk menyelesaikan masalah reka bentuk kod Log masuk ke platform FMZ dan pergi ke halaman penyuntingan strategi.

Gunakan menu klik kanan dalam ruang kosong, pilih pilihan ChatGPT dan klik untuk memanggilChat GPT, atauGunakan ⌘K untuk memanggil ChatGPT。
Jika saya seorang pemula dalam perdagangan kuantitatif sekarang, saya mempunyai keperluan: “Gunakan satu minit K-line untuk mensintesis data K-line bagi sebarang tempoh”. Sebagai seorang pemula, kemahiran pengaturcaraan saya lemah dan saya benar-benar tidak tahu bagaimana untuk menulis algoritma seperti itu, dahulu, saya hanya boleh mencari maklumat dan mendapatkan bantuan daripada pakar Sekarang dengan Chat GPT, saya boleh memintanya secara langsung jawapannya. Sudah tentu, seperti yang dinyatakan di atas, terangkan secara langsung keperluan ini:“Gunakan satu minit K-line untuk mensintesis data K-line bagi sebarang tempoh”. GPT berkemungkinan besar tidak akan memberikan anda jawapan 100% yang boleh digunakan dan anda perlu menerangkan masalah itu selengkap mungkin. Mengambil keperluan ini sebagai contoh, saya terus melaraskan soalan saya dan bertanya berkali-kali sebelum saya mendapat jawapan yang boleh digunakan yang saya inginkan. Kemudian mari kita terangkan keperluan ini sedikit lebih lengkap:
在FMZ平台上调用exchange.GetRecords(60)函数可以获取一分钟K线数据,数据结构是:
[{
Time : 毫秒时间戳, // 周期的起始时间
Open : 1000,
High : 1500,
Low : 900,
Close : 1200,
Volume : 1000000
}, ...]
请设计一个算法,使用一分钟K线数据合成任意分钟的K线数据,对于可以整除60分钟的周期,需要从整点的0分开始统计,使用Javascript语言实现,
这个算法单独写成一个函数,测试在function main()函数中测试,使用$.PlotRecords(KLineData, "name")画图。
Selepas memanggil ChatGPT, anda boleh mengisi kandungan soalan yang dioptimumkan di atas.

ChatGPT mula berfungsi.

Tunggu sehingga selesai.

kadang-kadangChat GPTBalut kod”Simbol, yang menunjukkan dalam markdown bahawa kandungan yang disertakan adalah kod. Jadi kami hanya memadam baris pertama dan terakhir. Kerana soalan saya bertanya untuk digunakan$.PlotRecords(KLineData, “name”)`Melukis, jadi strategi mesti merujuk perpustakaan lukisan garisan untuk melukis gambar Lukisan adalah untuk mengesahkan sama ada data K-line yang disintesis oleh kod yang diberikan oleh Chat GPT adalah betul.
Mengenai apa itu perpustakaan templat, saya tidak akan pergi ke butiran di sini Anda boleh menyemak dokumentasi API FMZ.Alamat perpustakaan lukisan garisan
Chat GPTKod yang diberikan boleh diuji balik secara langsung Saya menetapkan tempoh K-line lalai sistem ujian belakang kepada 5 minit untuk membandingkan carta garis K yang dilukis oleh data K-line yang dikira oleh algoritma yang diberikan oleh Chat GPT.


Pada pandangan pertama, algoritma yang diberikan oleh ChatGPT untuk menggunakan 1 minit K-line untuk mensintesis 5 minit K-line adalah betul.
/*
合成任意分钟的K线数据
@param {Array} records - 一分钟K线数据
@param {Number} period - 合成的周期,单位为分钟
@return {Array} - 合成后的K线数据
*/
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); // 合成5分钟K线数据
$.PlotRecords(kLineData, "KLineData");
}
ChatGPT yang disepadukan pada FMZ bukan sahaja akan membantu anda menulis kod, tetapi juga membantu anda menerangkan kod tersebut. Pilih kod yang ChatGPT baru tulis.composeKLineDataFungsi, klik kanan untuk muncul menu:


ChatGPT malah boleh memberikan cadangan pengoptimuman dan kod yang dioptimumkan.

Kemas kini editor FMZ ini menambah ciri ChatGPT. Ia terus mengoptimumkan dan menambah baik pengalaman pengguna penulisan program dalam talian dan menambah banyak fungsi yang mudah.
Klik kanan dalam ruang kosong atau apabila kod dipilih untuk muncul menu.

Memaparkan kombinasi kekunci pintasan untuk pelbagai fungsi.

Namakan semula Simbol, ubah suai nama pembolehubah tempatan.


Hanya gambar di atas akan diubah suaimainNama pembolehubah dalam fungsirecords。
Tukar Semua Kejadian, pilih nama atau perkataan pembolehubah, dan edit semua kandungan yang sama dalam teks pada masa yang sama.


Pemilihan Format, memformatkan kod yang dipilih.
Format Dokumen, format semua kod.

Pergi ke Definisi, lompat ke definisi. Pergi ke Rujukan, lompat ke rujukan. Pergi ke Simbol…, lompat ke nama pembolehubah, nama fungsi, dsb.

Peek Definisi, pratonton definisi. Lihat definisi kod yang dipilih tanpa meninggalkan baris kod semasa. Peek Rujukan, pratonton rujukan, lihat rujukan kepada baris kod semasa dalam baris kod lain tanpa meninggalkan baris kod semasa, dan lompat dengan cepat untuk memahami logik dan struktur kod dengan lebih baik.
