रणनीति ढांचा और एपीआई कार्य
में लिखी गई रणनीतियों मेंJavaScript
, Python
औरcpp
,Sleep()
इन रणनीतियों के मुख्य लूप में फ़ंक्शन को कॉल करने की आवश्यकता होती है। इसका उपयोग बैकट्रैकिंग गति को नियंत्रित करने के लिए किया जाएगा। लाइव ट्रेडिंग में, इसका उपयोग रणनीति पोलिंग अंतराल को नियंत्रित करने के लिए किया जाता है, और एक्सचेंज के एपीआई इंटरफ़ेस तक पहुंचने की अनुरोध आवृत्ति को भी नियंत्रित करता है।
function onTick(){
//Write strategy logic here, and it will be called constantly, such as printing ticker information
Log(exchange.GetTicker())
}
function main(){
while(true){
onTick()
// The function "Sleep" is mainly used to control the polling frequency of cryptocurrency strategies to prevent accessing the exchange API interafce too frequently
Sleep(60000)
}
}
def onTick():
Log(exchange.GetTicker())
def main():
while True:
onTick()
Sleep(60000)
void onTick() {
Log(exchange.GetTicker());
}
void main() {
while(true) {
onTick();
Sleep(60000);
}
}
क्रिप्टोक्यूरेंसी रणनीतियों के बुनियादी ढांचे के उदाहरणः
function onTick(){
// It is just an example; for all the assets will be used to place orders fast during backtest or in live trading, do not implement the example in live trading
exchange.Buy(100, 1)
}
function main(){
while(true){
onTick()
// The pause period can be customized in millisecond (1 second = 1000 milliseconds)
Sleep(1000)
}
}
def onTick():
exchange.Buy(100, 1)
def main():
while True:
onTick()
Sleep(1000)
void onTick() {
exchange.Buy(100, 1);
}
void main() {
while(true) {
onTick();
Sleep(1000);
}
}
सबसे सरल उदाहरण ले लो, अगर मैं एक खरीद आदेश 100 की कीमत और 1 की मात्रा के साथ विनिमय पर हर दूसरे जगह करना चाहते हैं, मैं इसे इस तरह लिख सकते हैंः
निम्नलिखित में रणनीति विकास और डिजाइन में आम तौर पर उपयोग किए जाने वाले एपीआई कार्यों को दिखाया गया है। अधिक विस्तृत एपीआई विवरण के लिए, कृपया देखेंःएफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म एपीआई मैनुअल.
वैश्विक कार्य
फ़ंक्शन का नाम |
संक्षिप्त परिचय |
संस्करण |
लौटाता है |
प्रणाली का वर्तमान संस्करण संख्या |
|
नींद |
नींद का कार्य, |
पैरामीटर विराम के लिए मिलीसेकंड का मूल्य है |
|
आभासी है |
निर्धारित करें |
निष्पादन वातावरण, एक बैकटेस्ट इंगित करने के लिए एक सही मान लौटाता है
पर्यावरण
∙∙मेलएक ईमेल भेजें।
∙∙मेल_गोअतुल्यकालिक
के संस्करणMail
फ़ंक्शन
∙∙सेटErrorFilterफ़िल्टर त्रुटि
लॉग, पैरामीटर एक नियमित अभिव्यक्ति स्ट्रिंग है, त्रुटि लॉग
इस नियमित अभिव्यक्ति से मेल नहीं खाएगा लॉगिंग में अपलोड किया जाएगा
प्रणाली
∙GetPid∙∙बॉट प्राप्त करें
प्रक्रिया आईडी
∙∙अंतिम त्रुटि प्राप्त करेंआखिरी ले लो
त्रुटि संदेश
∙∙कमांड प्राप्त करेंरणनीति प्राप्त करें।
बातचीत कमांड, रणनीति बातचीत नियंत्रण सेटिंग्स किया जा सकता है
पूछताछः [अंतर्क्रिया नियंत्रण]
∙मेटा प्राप्त करेंका मूल्य प्राप्त करें
रणनीति पंजीकरण कोड उत्पन्न करते समय मेटा लिखा।
∙∙डायल करेंकच्चे के लिए इस्तेमाल किया
सोकेट पहुँच।
∙∙HttpQueryHttp अनुरोध भेजें.
∙∙HttpQuery_Goअतुल्यकालिक
के संस्करणHttpQuery
फ़ंक्शन
∙∙एन्कोडडाटा एन्कोडिंग
फ़ंक्शन
∙∙यूनिक्स नैनोनैनो सेकंड प्राप्त करें
समय के टिकट।
∙∙यूनिक्सदूसरा स्तर प्राप्त करें
समय के टिकट।
∙∙GetOS∙∙ प्रणाली प्राप्त करना
जानकारी।
∙∙एमडी5MD5 की गणना करें।
∙∙DBExecडाटाबेस
कार्य जो SQL कथन निष्पादित करने और प्रदर्शन करने के लिए इस्तेमाल किया जा सकता है
डेटाबेस संचालन
∙∙UUIDUUID उत्पन्न करें।
∙∙इवेंट लूपघटनाओं को सुनें
और किसी भी वेबसॉकेट पठनीय या समवर्ती कार्यों जैसे के बाद वापसीexchange.Go
, HttpQuery_Go
, आदि पूर्ण हो जाते हैं, यह कार्य
केवल लाइव ट्रेडिंग के लिए उपलब्ध है
∙∙_Gलगातार डेटा सहेज रहा है,
यह फ़ंक्शन एक सहेजने योग्य वैश्विक शब्दकोश फ़ंक्शन को लागू करता है.
संरचना एक KV तालिका है, जो डॉकर के स्थानीय डेटाबेस में संग्रहीत है
फ़ाइल स्थायी रूप से।
∙_D∙∙ टाइमस्टैम्प हैंडलर, परिवर्तित करता है
एक समय स्ट्रिंग के लिए एक मिलीसेकंड टाइमस्टैम्प या दिनांक ऑब्जेक्ट
∙_Nएक फ्लोटिंग पॉइंट फॉर्मेट करना
संख्या, जैसे_N(3.1415, 2)
3.1415 के मूल्य को हटा देगा
दो दशमलव स्थान, और फ़ंक्शन 3.14 देता है।
∙∙_Cके लिए फ़ंक्शन पुनः प्रयास करें
ध्यान दें कि, उदाहरण के लिए, के लिए गलती सहिष्णुता
दexchange.GetTicker
कार्य है_C(exchange.GetTicker)
और नहीं_C(exchange.GetTicker())
|
| _क्रॉसपारदर्शी निर्णय समारोह,_Cross()
functions रिटर्न मान एक सकारात्मक संख्या है इंगित करता है
ऊपर की ओर प्रवेश की अवधि, एक नकारात्मक संख्या संकेत देता है
नीचे की ओर प्रवेश की अवधि, और 0 वर्तमान मूल्य को संदर्भित करता है
वही।
∙JSONParseJSON को पार्स करना, जो
सही ढंग से बड़े मूल्यों वाले JSON स्ट्रिंग्स को पार्स, बड़े पार्स करेगा
एक स्ट्रिंग प्रकार के लिए मान.JSONParse()
कार्य समर्थित नहीं है
बैकटेस्टिंग सिस्टम में।
लॉग फ़ंक्शन
फ़ंक्शन का नाम |
संक्षिप्त परिचय |
लॉग |
आउटपुट लॉग, लॉग टेक्स्ट रंग सेट करने का समर्थन, पुश सेट करने का समर्थन, बेस64 एन्कोडिंग के बाद छपाई छवियों का समर्थन |
लॉगप्रॉफिट |
आउटपुट पीएंडएल डेटा, प्रिंट पीएंडएल मान और पीएंडएल मानों के आधार पर प्लॉट उपज वक्र |
लॉगप्रोफ़िट रीसेट करें |
खाली करेंLogProfit फ़ंक्शन आउटपुट सभी कमाई लॉग, कमाई चार्ट |
लॉगस्टेटस |
स्थिति पट्टी में आउटपुट जानकारी, स्थिति पट्टी में बटन नियंत्रणों को डिजाइन करने के लिए समर्थन, फॉर्म आउटपुट करने के लिए समर्थन |
सक्षम करेंLog |
आदेश सूचना लॉगिंग चालू या बंद करें |
चार्ट |
हाईचार्ट्स/हाइस्टॉक्स चार्टिंग लाइब्रेरी पर आधारित चार्टिंग कार्य |
KLineChart |
पाइन भाषा शैली ड्राइंग फ़ंक्शन, जिसका उपयोग पाइन जैसी भाषा ड्राइंग शैली का उपयोग करके रणनीति रनटाइम पर अनुकूलित ड्राइंग के लिए किया जाता है |
लॉग रीसेट करें |
साफ़ लॉग, पैरामीटर सेटिंग्स के माध्यम से हाल के लॉग की एक निश्चित संख्या को बनाए रखने के लिए समर्थन |
लॉगवैक्यूम |
SQLite द्वारा कब्जा किए गए भंडारण स्थान को पुनः प्राप्त करने के लिए SQLite संसाधनों को पुनः प्राप्त करें जब लॉग को साफ करने के बाद डेटा को हटाने के लिएLogReset() कार्य |
console.log |
लाइव ट्रेडिंग पृष्ठ पर डिबग सूचना स्तंभ में आउटपुट डिबगिंग जानकारी |
console.error |
त्रुटि जानकारी लाइव ट्रेडिंग पृष्ठ के डिबग सूचना स्तंभ में आउटपुट की जाती है |
टिकर के कार्य
लेनदेन कार्य
फ़ंक्शन का नाम |
संक्षिप्त परिचय |
exchange.Buy |
खरीद ऑर्डर जमा करें, वायदा अनुबंधों को ध्यान देना चाहिए कि लेनदेन की दिशा सही ढंग से निर्धारित है, यदि लेनदेन की दिशा और लेनदेन फ़ंक्शन मेल नहीं खाते हैं, तो त्रुटि की सूचना दी जाएगी! |
exchange.Sell |
बेचने के आदेश भेजें, वायदा अनुबंध जब आदेश रखने के लिए ध्यान देना चाहिए लेनदेन दिशा सही ढंग से सेट है, यदि लेनदेन दिशा और लेनदेन समारोह मेल नहीं खाता है, यह एक त्रुटि की रिपोर्ट करेगा |
exchange.CreateOrder |
ऑर्डर सबमिट करें और पैरामीटर के माध्यम से लेनदेन प्रकार, लेनदेन दिशा, मूल्य और मात्रा निर्दिष्ट करें |
exchange.CancelOrder |
आदेश रद्द करें |
exchange.GetOrder |
आदेश की जानकारी प्राप्त करें, डेटा संरचना हैआदेशसंरचना |
exchange.GetOrders |
डेटा संरचना के साथ अधूरे आदेश प्राप्त करेंआदेशस्ट्रक्चर सरणी (सूची) |
exchange.GetHistoryOrders |
वर्तमान ट्रेडिंग जोड़ी और अनुबंध के ऐतिहासिक आदेश प्राप्त करें; विशिष्ट ट्रेडिंग उत्पादों को निर्दिष्ट करने का समर्थन करें |
exchange.SetPrecision |
विनिमय वस्तु की कीमत और आदेश मात्रा की सटीकता सेट करें, सेट करने के बाद सिस्टम स्वचालित रूप से डेटा अतिरेक को अनदेखा करेगा। |
exchange.SetRate |
विनिमय दर निर्धारित करें |
exchange.IO |
एक्सचेंज ऑब्जेक्ट से संबंधित अन्य इंटरफ़ेस कॉल के लिए |
exchange.Log |
आउटपुट, लेनदेन लॉग रिकॉर्ड करें और ऑर्डर न दें |
exchange.Encode |
हस्ताक्षर एन्क्रिप्शन की गणना |
exchange.Go |
मल्टी-थ्रेडेड एसिंक्रोनस सपोर्ट फंक्शन |
exchange.GetAccount |
खाता जानकारी प्राप्त करें |
exchange.GetAssets |
विनिमय खाते की संपत्ति की जानकारी का अनुरोध करें |
exchange.GetName |
एक्सचेंज ऑब्जेक्ट का नाम प्राप्त करें |
exchange.GetLabel |
एक्सचेंज ऑब्जेक्ट का लेबल प्राप्त करें |
exchange.GetCurrency |
वर्तमान ट्रेडिंग जोड़ी प्राप्त करें |
exchange.SetCurrency |
व्यापारिक जोड़े बदलें |
exchange.GetQuoteCurrency |
वर्तमान ट्रेडिंग जोड़ी की मुद्रा का नाम प्राप्त करें |
भविष्य के कार्य
नेटवर्क कार्य
जावास्क्रिप्ट मल्टी-थ्रेडिंग
एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म वास्तव में मल्टी-थ्रेडेड फ़ंक्शन का समर्थन करता हैJavaScript
प्रणाली के नीचे से भाषा रणनीति, और निम्नलिखित उद्देश्यों को लागू करता हैः
वस्तुएँ |
निर्देश |
टिप्पणी |
थ्रेडिंग |
बहु-थ्रेड वैश्विक वस्तु |
सदस्य के कार्य:Thread , getThread , mainThread आदि। |
धागा |
धागा वस्तु |
सदस्य के कार्य:peekMessage , postMessage , join आदि। |
थ्रेडलॉक |
थ्रेड लॉक ऑब्जेक्ट |
सदस्य के कार्य:acquire , release उन्हें थ्रेड निष्पादन फंक्शन के पैरामीटर के रूप में थ्रेड वातावरण में पारित किया जा सकता है। |
थ्रेड घटना |
घटना वस्तु |
सदस्य के कार्य:set , clear , wait , isSet उन्हें थ्रेड निष्पादन फंक्शन के पैरामीटर के रूप में थ्रेड वातावरण में पारित किया जा सकता है। |
थ्रेडCondition |
शर्त वस्तु |
सदस्य के कार्य:notify , notifyAll , wait , acquire , release उन्हें थ्रेड निष्पादन फंक्शन के पैरामीटर के रूप में थ्रेड वातावरण में पारित किया जा सकता है। |
ThreadDict |
शब्दकोश वस्तु |
सदस्य के कार्य:get , set उन्हें थ्रेड निष्पादन फंक्शन के पैरामीटर के रूप में थ्रेड वातावरण में पारित किया जा सकता है। |
एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म सिंटैक्स मैनुअलःजावास्क्रिप्ट मल्टी-थ्रेडिंग
वेब3
टीए संकेतक पुस्तकालय
फ़ंक्शन का नाम |
संक्षिप्त परिचय |
TA.MACD |
घातीय समतल विचलन औसत सूचक की गणना करें |
TA.KDJ |
स्टोकैस्टिक संकेतकों की गणना |
TA.RSI |
शक्ति संकेतक की गणना करें |
TA.ATR |
औसत वास्तविक अस्थिरता सूचक की गणना करें |
TA.OBV |
ऊर्जा ज्वार संकेतकों की गणना |
TA.MA |
चलती औसत संकेतकों की गणना |
TA.EMA |
घातीय औसत के संकेतकों की गणना |
TA.BOLL |
बोलिंगर बैंड सूचक की गणना करें |
TA.Alligator |
मगरमच्छ रेखा सूचक की गणना करें |
TA.CMF |
चाइकिन नकदी प्रवाह सूचक की गणना |
TA.Highest |
अवधि अधिकतम मूल्य की गणना करें |
TA.Lowest |
अवधि न्यूनतम मूल्य की गणना करें |
TA.SMA |
सरल चलती औसत संकेतकों की गणना करें |
तालिब संकेतक पुस्तकालय
तालिब संकेतक पुस्तकालय में कई व्यापारिक संकेतक हैं, जैसेtalib.CDL2CROWS. आप विशिष्टता के लिए वाक्य रचना मैनुअल पर कूद सकते हैं.
रणनीति प्रविष्टि कार्य
टेम्पलेट लाइब्रेरी