[TOC]
Was ist die größte Schwierigkeit für Anfänger in Quantitative Trading und Programmatic Trading?
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!
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 Problembeschreibung、Genauigkeit 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.
Mit der rechten Taste im Leerzeichen wählen Sie die ChatGPT-Option und klicken Sie darauf, um zu rufenChat GPT
oderChatGPT wird mit der K-Funktion aufgerufen。
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.
ChatGPT ist jetzt funktionierend.
Lassen Sie es zu Ende schreiben.
ManchmalChat GPT
Das 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 GPT
Dieser 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.
Vorläufig scheint es, dass die Algorithmen von ChatGPT mit 1 Minute K-Linien 5 Minuten K-Linien synthetisch richtig sind.
/*
合成任意分钟的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");
}
Die integrierte ChatGPT in FMZ hilft Ihnen nicht nur, Code zu schreiben, sondern auch, Code zu interpretieren.composeKLineData
Funktionen, rechts klicken auf das Pop-up-Menü:
Auch ChatGPT kann Optimierungsempfehlungen, optimierter Code geben.
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.
Wenn Sie in einem Leerzeichen oder bei der Auswahl eines Codes mit der rechten Taste klicken, taucht ein Menü auf.
Die Schaltfläche zeigt eine Vielzahl von Funktionen.
Rename Symbol, Änderung des lokalen Variablennamens.
Das ist nur eine Änderung der Grafik.main
Variablen in einer Funktionrecords
。
Change All Occurrences, wählen Sie einen Variablennamen oder ein Wort aus und bearbeiten Sie alle gleichen Inhalte im Text.
Format Selection, Format der ausgewählten Codes.
Format Document, der gesamte Code ist formatiert.
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.
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.
Züziejie 666
Weiwei, wie ist das?Nachträglich, 6
Btc_KevinDas ist 666.
17732164739Das ist gut, es ist schwer zu träumen.
Die Erfinder quantifizieren - Kleine TräumeDank für die Unterstützung der Erfinder für die Quantifizierung.