avatar of 发明者量化-小小梦 发明者量化-小小梦
tập trung vào tin nhắn riêng tư
4
tập trung vào
1271
Người theo dõi

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn

Được tạo ra trong: 2023-04-01 13:07:53, cập nhật trên: 2024-11-29 18:56:44
comments   5
hits   3080

[TOC]

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn

Khám phá các tính năng mới của FMZ Strategy Editor

Khó khăn lớn nhất đối với người mới bắt đầu giao dịch định lượng và giao dịch theo chương trình là gì? Nói chung thì có một số.

  • Thiếu kiến ​​thức cơ bản: bao gồm các khái niệm cơ bản, quy tắc thị trường, kiến ​​thức giao dịch, ý tưởng chiến lược, v.v.
  • Nền tảng lập trình yếu: bao gồm biểu thức logic, thiết kế và viết chương trình, gỡ lỗi và xử lý sự cố chương trình.
  • Tư duy logic yếu: Quá trình suy nghĩ dễ dẫn đến nhầm lẫn, càng suy nghĩ bạn càng thấy bối rối.
  • Khó khăn trong việc tự học: Khi gặp vấn đề, bạn không biết phải bắt đầu giải quyết từ đâu và thậm chí có thể không biết phải tìm kiếm vấn đề ở đâu.

Với sự phát triển của công nghệ AI, các giải pháp cho những vấn đề trên có thể được tìm ra ở một mức độ nhất định. Gần đây phổ biếnChat GPTNó có thể được sử dụng như một công cụ để học tập, nghiên cứu và tạo ra giao dịch định lượng. Với bản nâng cấp mới của trình biên tập chiến lược trên nền tảng FMZ, Chat GPT cũng đã được kết nối, giúp cải thiện đáng kể năng suất định lượng. Chúng ta hãy cùng nhau khám phá.Các tính năng mới của FMZ Strategy Editor

Sử dụng Chat GPT để hỗ trợ thiết kế mã

Mặc dù các chức năng của Chat GPT đã rất mạnh mẽ và mức độ hiểu biết của nó về các câu hỏi do con người đưa ra đã rất cao. Nhưng câu trả lời nó đưa ra vẫn làTính đầy đủ của mô tả vấn đềĐộ chính xác của mô tảCác yếu tố như đầu vào và đầu ra của người dùng rất nhạy cảm. Nếu kịch bản được mô tả hoặc nội dung câu hỏi không chính xác, Chat GPT vẫn không thể đưa ra câu trả lời hoàn hảo. Vì vậy, khi sử dụng nó để giải quyết một số bài toán, bạn cần cố gắng diễn đạt nó một cách chính xác và đầy đủ.

Tiếp theo, chúng ta sẽ sử dụng chức năng Chat GPT của trình soạn thảo chiến lược nền tảng FMZ để giải quyết vấn đề thiết kế mã. Đăng nhập vào nền tảng FMZ và đi đến trang soạn thảo chiến lược.

1. Cách gọi ChatGPT

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn

Sử dụng menu chuột phải trong một khoảng trống, chọn tùy chọn ChatGPT và nhấp để gọi lênChat GPT,hoặcSử dụng ⌘K để gọi ChatGPT

2. Về cách đặt câu hỏi

Nếu tôi là người mới bắt đầu tham gia giao dịch định lượng, tôi có một yêu cầu: “Sử dụng K-line một phút để tổng hợp dữ liệu K-line của bất kỳ giai đoạn nào”. Là người mới bắt đầu, kỹ năng lập trình của tôi còn yếu và tôi thực sự không thể viết một thuật toán như vậy. Trước đây, tôi chỉ có thể tìm kiếm thông tin và nhờ chuyên gia giúp đỡ. Bây giờ với Chat GPT, tôi có thể trực tiếp yêu cầu giải đáp. Tất nhiên, như đã đề cập ở trên, hãy mô tả trực tiếp yêu cầu này:“Sử dụng K-line một phút để tổng hợp dữ liệu K-line của bất kỳ giai đoạn nào”. Rất có thể GPT sẽ không cung cấp cho bạn câu trả lời hữu ích 100% và bạn cần phải mô tả vấn đề một cách đầy đủ nhất có thể. Lấy yêu cầu này làm ví dụ, tôi đã liên tục điều chỉnh câu hỏi của mình và hỏi nhiều lần trước khi nhận được câu trả lời hữu ích mà tôi mong muốn. Sau đây chúng ta hãy mô tả yêu cầu này một cách đầy đủ hơn:

在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")画图。

Sau khi gọi ChatGPT, bạn có thể điền nội dung câu hỏi đã tối ưu hóa ở trên.

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn

ChatGPT bắt đầu hoạt động.

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn

Chờ cho đến khi hoàn tất.

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn

Thỉnh thoảngChat GPTBọc mã”Biểu tượng cho biết trong markdown rằng nội dung kèm theo là mã. Vì vậy, chúng ta chỉ cần xóa dòng đầu tiên và dòng cuối cùng. Bởi vì câu hỏi tôi yêu cầu nó sử dụng$.PlotRecords(KLineData, “name”)`Vẽ, vì vậy chiến lược phải tham chiếu đến thư viện vẽ đường để vẽ. Vẽ là để xác minh xem dữ liệu K-line được tổng hợp bởi mã do Chat GPT cung cấp có chính xác không. Về thư viện mẫu là gì, tôi sẽ không đi sâu vào chi tiết ở đây. Bạn có thể kiểm tra tài liệu API của FMZ.Địa chỉ thư viện bản vẽ đường nét

Chat GPTMã được cung cấp có thể được kiểm tra ngược trực tiếp. Tôi đặt thời gian K-line mặc định của hệ thống kiểm tra ngược thành 5 phút để so sánh biểu đồ K-line được vẽ bởi dữ liệu K-line được tính toán bằng thuật toán do Chat GPT cung cấp.

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn

3. Kiểm tra lại mã được cung cấp bởi Chat GPT

Bản vẽ hệ thống kiểm tra ngược Bản vẽ thuật toán ChatGPT

Thoạt nhìn, thuật toán do ChatGPT đưa ra để sử dụng dòng K 1 phút để tổng hợp dòng K 5 phút là chính xác.

4. Mã hoàn chỉnh được viết bởi ChatGPT

/*
合成任意分钟的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");
}

Giải thích mã sử dụng Chat GPT

ChatGPT tích hợp trên FMZ không chỉ giúp bạn viết code mà còn giúp bạn giải thích code. Chọn mã mà ChatGPT vừa viết.composeKLineDataChức năng, nhấp chuột phải để bật lên menu:

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn

Sử dụng Chat GPT để đưa ra gợi ý và tối ưu hóa mã

ChatGPT thậm chí có thể đưa ra các gợi ý tối ưu hóa và mã được tối ưu hóa.

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn


Các tính năng mới khác được thêm vào trình chỉnh sửa

Bản cập nhật trình soạn thảo FMZ này bổ sung tính năng ChatGPT. Nó còn tối ưu hóa và cải thiện trải nghiệm của người dùng khi viết chương trình trực tuyến và bổ sung thêm nhiều chức năng tiện lợi.

Xem tổ hợp phím tắt

Nhấp chuột phải vào khoảng trống hoặc khi mã được chọn để bật lên một menu.

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn

Hiển thị tổ hợp phím tắt cho nhiều chức năng khác nhau.

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn


Sửa đổi tên biến

Đổi tên Symbol, sửa đổi tên biến cục bộ.

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn

Chỉ có hình ảnh ở trên sẽ được sửa đổimainTên biến trong hàmrecords


Sửa đổi tất cả nội dung giống hệt nhau

Thay đổi tất cả các lần xuất hiện, chọn tên biến hoặc từ và chỉnh sửa tất cả nội dung giống nhau trong văn bản cùng một lúc.

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn


Định dạng (làm đẹp mã, định dạng căn chỉnh tự động)

Định dạng lựa chọn, định dạng mã đã chọn.

Định dạng tài liệu, định dạng tất cả mã.

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn


Nhảy tới định nghĩa, tham khảo

Vào Định nghĩa, nhảy tới định nghĩa. Vào mục Tài liệu tham khảo, chuyển đến mục tài liệu tham khảo. Đi tới Biểu tượng…, nhảy tới tên biến, tên hàm, v.v.

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn


Xem trước định nghĩa, xem trước tham chiếu

Xem trước định nghĩa, xem trước định nghĩa. Xem định nghĩa của mã đã chọn mà không cần rời khỏi dòng mã hiện tại. Xem trước tham chiếu, xem trước tham chiếu, xem các tham chiếu đến dòng mã hiện tại trong các dòng mã khác mà không cần rời khỏi dòng mã hiện tại và chuyển nhanh đến để hiểu rõ hơn về logic và cấu trúc mã.

Khám phá các tính năng mới của FMZ Strategy Editor: Cách ChatGPT có thể cải thiện đáng kể năng suất định lượng của bạn