मात्रात्मक ट्रेडिंग और प्रोग्रामेटिक ट्रेडिंग के शुरुआती लोगों के लिए सीखने में सबसे बड़ी कठिनाइयां क्या हैं?
एआई प्रौद्योगिकी के विकास के साथ इन समस्याओं के समाधान कुछ हद तक मिल सकते हैं।चैटजीपीटीएफएमजेड प्लेटफॉर्म के साथ रणनीति संपादक के लिए नया अपग्रेड और चैटजीपीटी के साथ एकीकरण, यह मात्रात्मकता की उत्पादकता में काफी सुधार करता है। आइए खोज करेंएफएमजेड रणनीति संपादक के नए कार्यएक साथ!
यद्यपि चैटजीपीटी की वर्तमान क्षमताएं पहले से ही बहुत शक्तिशाली हैं, और यह मानव प्रश्नों को बहुत अच्छी तरह से समझ सकती है, इसके द्वारा प्रदान किए जाने वाले उत्तर अभी भी ऐसे कारकों के प्रति अत्यधिक संवेदनशील हैं जैसेप्रश्न विवरण की पूर्णता और सटीकता. यदि वर्णित परिदृश्य या प्रश्न सामग्री सटीक नहीं है, तो चैटजीपीटी एक सही उत्तर प्रदान करने में असमर्थ हो सकता है। इसलिए, कुछ समस्याओं को हल करने के लिए इसका उपयोग करते समय, उन्हें सही और पूरी तरह से व्यक्त करने का प्रयास करना आवश्यक है।
अगला, हम एक कोड डिजाइन समस्या को हल करने के लिए एफएमजेड प्लेटफॉर्म रणनीति संपादक के चैटजीपीटी फ़ंक्शन का उपयोग करेंगे। एफएमजेड प्लेटफॉर्म में लॉग इन करें और रणनीति संपादन पृष्ठ पर जाएं।
रिक्त स्थान पर राइट-क्लिक करें, चैटजीपीटी विकल्प चुनें और बाहर कॉल करने के लिए क्लिक करेंChatGPT
, याChatGPT को कॉल करने के लिए Ctrl+K का उपयोग करें.
यदि मैं अब एक मात्रात्मक व्यापार शुरुआत कर रहा हूँ, मैं एक आवश्यकता हैः
किसी भी अवधि के-लाइन डेटा को संश्लेषित करने के लिए एक मिनट के-लाइन का उपयोग करें।
एक शुरुआत के रूप में, मेरी प्रोग्रामिंग क्षमता खराब है, और मैं वास्तव में नहीं जानता कि इस तरह के एल्गोरिथ्म को कैसे लिखना है। अतीत में, मैं केवल जानकारी की तलाश कर सकता था और विशेषज्ञों से मदद मांग सकता था। अब, चैटजीपीटी के साथ, मैं सीधे जवाब के लिए पूछ सकता हूं। बेशक, जैसा कि ऊपर उल्लेख किया गया है, आवश्यकता का सीधे वर्णन करते हुएःकिसी भी अवधि के-लाइन डेटा का संश्लेषण करने के लिए एक मिनट के-लाइन डेटा का उपयोग करें
तो चलिए इस आवश्यकता विवरण को थोड़ा और पूरा करते हैंः
> 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 को कॉल करने के बाद, आप ऊपर उल्लिखित अनुकूलित प्रश्न सामग्री भर सकते हैं।
चैटजीपीटी काम करना शुरू कर देता है।
लिखना खत्म होने तक प्रतीक्षा करें।
कभी-कभीChatGPT
जोड़ता हैप्रतीक कोड को लपेटने के लिए, जो मार्कडाउन में इंगित करता है कि लपेटा सामग्री कोड है। तो हम सिर्फ पहली और आखिरी पंक्तियों को हटाने की जरूरत है। के बाद से मैं इसे इस्तेमाल करने के लिए कहा$.PlotRecords(KLineData, "name")
ड्राइंग के लिए, रणनीति को ड्राइंग करने के लिए ड्राइंग लाइब्रेरी का संदर्भ लेने की आवश्यकता होती है। ड्राइंग का उद्देश्य यह सत्यापित करना है कि क्या चैट जीपीटी
द्वारा प्रदान किया गया कोडChatGPT
मैं बैकटेस्टिंग प्रणाली के डिफ़ॉल्ट के-लाइन अवधि को 5 मिनट के रूप में सेट करता हूं, जिसका उपयोग चैट जीपीटी
प्रारम्भिक रूप से, ऐसा प्रतीत होता है कि चैटजीपीटी द्वारा दी गई 5 मिनट की के-लाइन को 1 मिनट की के-लाइन से संश्लेषित करने की एल्गोरिथ्म सही है।
/*
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");
}
FMZcomposeKLineData
ChatGPT द्वारा अभी लिखे गए कोड में फ़ंक्शन, मेनू दिखाने के लिए राइट-क्लिक करेंः
यहां तक कि चैटजीपीटी अनुकूलन सुझाव और अनुकूलित कोड प्रदान कर सकता है।
एफएमजेड संपादक अद्यतन, चैटजीपीटी फ़ंक्शन जोड़ने के अलावा। यह कई सुविधाजनक कार्यों को जोड़कर ऑनलाइन प्रोग्रामिंग अनुभव को भी अनुकूलित और बढ़ाता है।
मेनू दिखाने के लिए रिक्त स्थान में या कोड का चयन करते समय राइट-क्लिक करें.
यह विभिन्न शॉर्टकट कुंजी संयोजन प्रदर्शित करता है।
स्थानीय चर नाम को संशोधित करने के लिए प्रतीक का नाम बदलें.
यह केवल चर नाम बदल गयाrecords
मेंmain
उपरोक्त चित्र का कार्य।
सभी घटनाओं को बदलें, एक चर नाम, शब्द का चयन करें, और एक साथ पाठ में सभी समान सामग्री को संपादित करें.
प्रारूप चयन, चयनित कोड को प्रारूपित करें.
दस्तावेज़ प्रारूप, सभी कोड प्रारूप।
परिभाषा पर जाएं: परिभाषा पर जाएं. संदर्भों पर जाएं: संदर्भों पर जाएं। प्रतीक पर जाएं...: चर नाम, फ़ंक्शन नाम आदि पर जाएं.
Peek Definition: परिभाषा पूर्वावलोकन, कोड की वर्तमान पंक्ति को छोड़ने के बिना चयनित कोड की परिभाषा देखें. Peek References: उद्धरण पूर्वावलोकन, वर्तमान कोड लाइन के संदर्भ को अन्य कोड लाइनों में वर्तमान कोड लाइन को छोड़ने के बिना देखें, यह कोड तर्क और संरचना को बेहतर ढंग से समझने के लिए जल्दी से जा सकता है।