리소스 로딩... 로딩...

FMZ 전략 편집기의 새로운 기능을 탐구: 어떻게 ChatGPT는 당신의 양적 생산성을 크게 향상

저자:FMZ~리디아, 창작: 2023-04-03 13:32:37, 업데이트: 2023-09-18 19:59:09

img

FMZ 전략 편집기의 새로운 기능을 탐구: 어떻게 ChatGPT는 당신의 양적 생산성을 크게 향상

양적 거래 및 프로그래밍 거래 초보자에게는 학습에 가장 큰 어려움은 무엇입니까? 일반적으로는 몇 가지 이유가 있습니다.

  • 기본 지식 부족: 기본 개념, 시장 규칙, 거래 지식, 전략적 사고 등
  • 낮은 프로그래밍 기초: 논리적 표현, 프로그램 설계 및 작성, 프로그램 디버깅 및 오류 수정.
  • 논리적 사고가 약한 것: 사고 과정은 쉽게 혼란을 일으킬 수 있고, 생각하면 할수록 더 혼란스러워집니다.
  • 자기 연구 의 어려움: 문제 들 을 겪을 때, 그 문제 들 을 해결 하기 위해 어디서부터 시작 해야 할지 아는 것 이 어렵고, 문제 를 찾는 방향 이 명확 하지 않을 수도 있다.

인공지능 기술의 발전으로 이러한 문제에 대한 해결책은 어느 정도 찾을 수 있습니다.ChatGPT수량적 거래 학습, 연구 및 창조를 위한 도구로 사용될 수 있습니다. FMZ 플랫폼의 새로운 전략 편집기 업그레이드와 ChatGPT와의 통합으로 수량화의 생산성을 크게 향상시킵니다.FMZ 전략 편집기의 새로운 기능함께!

코드 설계에 도움을 주기 위해 ChatGPT를 사용

현재 ChatGPT의 기능이 이미 매우 강력하고, 인간의 질문을 매우 잘 이해할 수 있지만, 제공되는 답변은 여전히 다음과 같은 요소에 매우 민감합니다.질문 설명의 완전성과 정확성. 설명 된 시나리오 또는 질문 내용이 정확하지 않은 경우, ChatGPT는 완벽한 답을 제공할 수 없을 수 있습니다. 따라서, 어떤 문제를 해결하기 위해 사용 할 때, 올바르고 완전히 표현하려고 노력해야합니다.

다음으로, 우리는 FMZ 플랫폼 전략 편집기의 ChatGPT 기능을 사용하여 코드 디자인 문제를 해결합니다. FMZ 플랫폼에 로그인하여 전략 편집 페이지로 이동합니다.

1. 채팅GPT를 호출

img

빈 공간에 오른쪽 버튼을 눌러 ChatGPT 옵션을 선택 하 고 호출 하 고 클릭 합니다ChatGPT, 또는Ctrl+K를 사용하여 ChatGPT를 호출합니다..

2. 질문 하는 기술

만약 제가 지금 양적 거래의 초보자라면, 저는 한 가지 요구사항을 가지고 있습니다.

1분 K선을 사용하여 모든 기간 K선을 합성합니다.

초보자로서, 제 프로그래밍 능력은 약하고, 저는 실제로 그러한 알고리즘을 작성하는 방법을 모릅니다. 과거에는 정보를 검색하고 전문가에게 도움을 요청할 수 밖에 없었습니다. 지금은 ChatGPT로 직접 답변을 요청할 수 있습니다. 물론, 위에서 언급했듯이, 요구 사항을 직접 설명합니다: 1분 K선 데이터를 사용하여 모든 기간 K선 데이터를 합성합니다.. GPT는 100% 사용할 수 있는 답을 제공하지 않을 가능성이 높기 때문에, 당신은 여전히 문제를 철저히 설명하기 위해 최선을 다해야 합니다. 예를 들어 요구 사항을 취해서, 나는 나의 요구를 충족하는 사용할 수 있는 답을 얻기 전에 나의 질문을 조정하고 여러 번 물었다.

그래서 이 요구사항 설명이 좀 더 완전해지도록 합시다.

 > 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.

ChatGPT를 호출한 후, 위에서 언급한 최적화된 질문 내용을 채울 수 있습니다.

img

채팅 GPT가 작동합니다.

img

글쓰기가 끝날 때까지 기다려

img

가끔ChatGPT추가합니다img코드를 포장하기 위한 기호를 표시합니다. 마크다운에서는 포장된 내용이 코드라는 것을 나타냅니다. 그래서 첫 번째와 마지막 줄을 제거해야 합니다.$.PlotRecords(KLineData, "name")도면을 그리기 위해 전략은 도면 라이브러리를 참조해야 합니다. 도면의 목적은 채팅 GPT의 코드가 합성한 K-라인 데이터가 올바르는지 확인하는 것입니다. 템플릿 라이브러리가 무엇인지에 대해서는 여기서 자세히 설명하지 않겠습니다. 더 자세한 내용은 FMZ의 API 문서를 참조하십시오.플롯 라이브러리 주소.

코드는ChatGPT저는 백테스팅 시스템의 기본 K-라인 기간을 5분으로 설정했습니다. 이는 채팅 GPT 알고리즘에 의해 계산된 K-라인 데이터에서 도출된 K-라인 차트와 비교하는 데 사용됩니다.

img

3. ChatGPT에 의해 제공된 백테스트 테스트 코드

img

img

우선적으로, ChatGPT가 5분 K 라인을 1분 K 라인으로부터 합성하는 알고리즘이 정확해 보입니다.

4. 채팅GPT에 의해 작성된 완전한 코드:

/*
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");
}

코드를 설명하기 위해 ChatGPT를 사용하세요

FMZ의 통합된 ChatGPT는 코드를 작성하는 데 도움이 될 뿐만 아니라 코드를 설명하는 데 도움이 됩니다.composeKLineDataChatGPT가 작성한 코드에서 함수, 오른쪽 클릭하면 메뉴가 표시됩니다:

img

제안하고 코드를 최적화하기 위해 ChatGPT를 사용

심지어 ChatGPT도 최적화 제안과 최적화된 코드를 제공할 수 있습니다.

img

편집기에 추가된 다른 기능

FMZ 에디터 업데이트는 ChatGPT 기능을 추가하는 것 외에도 많은 편리한 기능을 추가하여 온라인 프로그래밍 경험을 최적화하고 향상시킵니다.

단축키 조합을 보기

빈 공간에 오른쪽 클릭하거나 코드를 선택하면 메뉴가 표시됩니다.

img

다양한 단축키 조합을 표시합니다.

img

변수 이름을 수정

로컬 변수 이름을 변경하기 위해 기호의 이름을 변경합니다.

img img

변수 이름만 바꿨어요recordsmain위 그림의 기능입니다.

같은 내용을 모두 수정합니다

모든 발생을 변경하고 변수 이름, 단어를 선택하고 텍스트의 모든 동일한 내용을 동시에 편집합니다.

img img

포맷 (코드 최적화, 자동 정렬 형식)

포맷 선택, 선택된 코드를 포맷합니다.

문서 형식, 모든 코드 형식

img

정의, 참조로 이동

정의로 이동하세요: 정의로 이동하세요. 참고문헌으로 가세요: 참고문헌으로 가세요. Symbol...: 변수 이름, 함수 이름 등으로 이동합니다.

img

피크 정의, 피크 참조

피크 정의: 정의 미리보기, 현재 코드 라인을 떠나지 않고 선택한 코드 정의를 참조하십시오. 피크 레퍼런스 (Peek References): 코드의 논리와 구조를 더 잘 이해하기 위해 빠르게 이동할 수 있습니다.

img


관련

더 많은