Entdecken Sie neue Funktionen im FMZ-Strategieditor: Wie ChatGPT Ihre quantitative Produktivität erheblich steigert

Schriftsteller:Kleine Träume, Erstellt: 2023-04-01 13:07:53, aktualisiert: 2023-09-18 20:16:25

[TOC]

img

Entdecken Sie neue Funktionen des FMZ-Strategieditors

Was ist die größte Schwierigkeit für Anfänger in Quantitative Trading und Programmatic Trading?

  • Es fehlt an Grundkenntnissen: Grundkonzepte, Marktregeln, Handelswissen, strategische Ideen usw.
  • Schwache Programmiergrundlagen: Logische Ausdrücke, Programmierung, Programmierung und Fehler.
  • Schwaches logisches Denken: Der Denkprozess verursacht leicht Verwirrung, und je mehr man denkt, desto verwirrender wird es.
  • Selbstlernschwierigkeiten: Probleme werden nicht gelöst und die Suche nach Fragen ist möglicherweise unklar.

Mit der Entwicklung der KI-Technologie können diese Probleme zu einem gewissen Grad gelöst werden.Chat-GPTMit einem neuen Upgrade der FMZ-Plattform für den Strategie-Editor und dem Zugriff auf Chat GPT hat sich die Quantitative Produktivität erheblich verbessert.Neue Funktionen für den FMZ-Strategieditor

Mit Chat GPT unterstützendes Code-Design

Obwohl die Funktionen von Chat GPT jetzt sehr leistungsstark sind und das Verständnis für menschliche Fragen sehr hoch ist, sind die Antworten, die es gibt, immer noch sehr wichtig.Vollständigkeit der ProblembeschreibungGenauigkeit der BeschreibungWenn die beschriebenen Szenen, Fragen und andere Faktoren sehr empfindlich sind, kann Chat GPT keine perfekte Antwort geben.

Als nächstes lösen wir ein Code-Design-Problem mit der Chat GPT-Funktion des FMZ-Plattform-Strategieditors.

1. Wie wird ChatGPT aufgerufen?

img

Mit der rechten Taste im Leerzeichen wählen Sie die ChatGPT-Option und klicken Sie darauf, um zu rufenChat GPToderChatGPT wird mit der K-Funktion aufgerufen

2. Wie man Fragen stellt

Wenn ich jetzt ein Quantitative Trading-Anfänger wäre, hätte ich einen Bedarf: Ich würde eine Minute lang K-Linien verwenden, um beliebige Perioden von K-Linien zu synthetisieren. Als Anfänger bin ich schwach in der Programmierung und würde so eine Algorithmus nicht schreiben. Ich konnte vorher nur nach Informationen suchen, Gott um Hilfe bitten.Die K-Leitung wird mit einer Minute K-Leitung zusammengesetzt, um beliebige Perioden zu erzeugen."GPT gibt wahrscheinlich keine 100% verfügbare Antwort, und ich muss versuchen, die Frage so gut wie möglich zu beschreiben. In diesem Bedarfsszenario habe ich meine Frage ständig angepasst und viele Male gefragt, um die Antwort zu erhalten, die ich wünsche.

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

Nach dem Aufrufen von ChatGPT können Sie die oben optimierten Fragen einfügen.

img

ChatGPT ist jetzt funktionierend.

img

Lassen Sie es zu Ende schreiben.

img

ManchmalChat GPTDas Symbol ``` wird in den Code eingebunden, was im Markdown bedeutet, dass es Code ist, der eingebunden ist. Also haben wir die erste und letzte Zeile gelöscht.$.PlotRecords(KLineData, "name")Die Strategie besteht darin, die K-Leiste zu überprüfen, um zu überprüfen, ob die Code-Synthese von Chat GPT korrekt ist. Was die Template Bibliothek angeht, ist hier nicht mehr zu diskutieren.Die Adresse der Zeichnungsleiste

Chat GPTDieser Code ist direkt zurückzufordern, und ich habe die Standard-K-String-Zyklus des Rückforderungssystems auf 5 Minuten gesetzt, um das K-String-Diagramm zu erstellen, das mit den K-String-Daten des Chat GPT-Algorithmus berechnet wurde.

img

3. Nachprüfen Sie den Code des Chat GPT

回测系统画图 ChatGPT给出的算法画图

Vorläufig scheint es, dass die Algorithmen von ChatGPT mit 1 Minute K-Linien 5 Minuten K-Linien synthetisch richtig sind.

4. Der gesamte Code wurde von ChatGPT geschrieben.

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

Code interpretieren mit Chat GPT

Die integrierte ChatGPT in FMZ hilft Ihnen nicht nur, Code zu schreiben, sondern auch, Code zu interpretieren.composeKLineDataFunktionen, rechts klicken auf das Pop-up-Menü:

img

img

Mit Chat GPT empfehlen und optimieren Sie Ihren Code

Auch ChatGPT kann Optimierungsempfehlungen, optimierter Code geben.

img


Weitere neue Funktionen im Editor

Der neue FMZ-Editor wird nicht nur die große Funktion ChatGPT hinzufügen, sondern auch optimiert, verbessert die Benutzerfreundlichkeit und bietet viele weitere Funktionen.

Schauen Sie sich die Schaltflächenkombinationen an

Wenn Sie in einem Leerzeichen oder bei der Auswahl eines Codes mit der rechten Taste klicken, taucht ein Menü auf.

img

Die Schaltfläche zeigt eine Vielzahl von Funktionen.

img


Änderung des Namens

Rename Symbol, Änderung des lokalen Variablennamens.

img

img

Das ist nur eine Änderung der Grafik.mainVariablen in einer Funktionrecords


Ändern Sie alle gleichen Inhalte

Change All Occurrences, wählen Sie einen Variablennamen oder ein Wort aus und bearbeiten Sie alle gleichen Inhalte im Text.

img

img


Formatierung (code-beauty, auto-aligned formats)

Format Selection, Format der ausgewählten Codes.

Format Document, der gesamte Code ist formatiert.

img


Springen Sie zu Definition, Referenz

Go to Definition, springen Sie auf die Definition. Go to References, springen Sie zu den Referenzen. Go to Symbol..., springen Sie zu Variablennamen, Funktionsnamen usw.

img


Definition der Vorschau, Referenz der Vorschau

Peek Definition, Definitionsvorschau. Peek References, Referenzvorschau, um zu sehen, ob in anderen Codezeilen auf die aktuelle Codezeile verwiesen wird, ohne die aktuelle Codezeile zu verlassen, kann schnell gesprungen werden, um die Codelogik und -struktur besser zu verstehen.

img


Verwandt

Mehr

Weiwei, wie ist das?Nachträglich, 6

Btc_KevinDas ist 666.

17732164739Das ist gut, es ist schwer zu träumen.