पिछले कुछ लेखों में हम जानते हैं कि एक प्रोग्रामेटिक, क्वांटिफाइड ट्रेडिंग एक स्क्रिप्ट प्रोग्राम है जो एक्सचेंज से प्राप्त डेटा के आधार पर, एक श्रृंखला की गणना, निर्णय और ट्रिगर के बाद, एक्सचेंज खाते को संचालित करने के लिए कुछ संचालन करता है। ये एक्सेस डेटा, एक्सचेंज एपीआई इंटरफ़ेस के माध्यम से किए जाते हैं। सरल शब्दों में, स्क्रिप्ट प्रोग्राम और एक्सचेंज के बीच बातचीत होती है, क्योंकि यह बातचीत है, इसलिए सामान्य बातचीत, असामान्य बातचीत होनी चाहिए। जब असामान्य बातचीत होती है, तो इंटरफ़ेस असामान्य जानकारी वापस करता है।
बेशक, बाजार में प्रोग्रामेटिक, क्वांटिफाइड ट्रेडिंग सिस्टम, या स्वयं विकसित कार्यक्रमों में विभिन्न प्रकार के त्रुटि संकेत और त्रुटि सूचनाएं होती हैं। ये त्रुटि सूचनाएं एक्सचेंज एपीआई इंटरफेस तक सीमित नहीं हैं।
यह एक बहुत ही महत्वपूर्ण और महत्वपूर्ण मुद्दा है, क्योंकि यह एक बहुत ही महत्वपूर्ण मुद्दा है, और यह एक महत्वपूर्ण मुद्दा है।
रणनीतिक व्याकरण त्रुटि ये सबसे आम हैं, आमतौर पर नए प्रोग्रामरों की अपरिचितता के कारण, और सीखने के परीक्षण चरण में कोड लिखने में वाक्यविन्यास त्रुटियों के कारण होते हैं; उदाहरण के लिएः
कोड में कोष्ठक जैसे कम वर्ण लिखे गए हैं. इस तरह की त्रुटियां आमतौर पर संपादन नीति पृष्ठ पर त्रुटि संकेत दिखाती हैं, और नीति भी चलती नहीं है ((इसे चलाने पर सीधे त्रुटि मिलती है, जैसा कि नीचे चित्रित है) ।) ।
इसलिए, नीति लिखने के बाद, प्लेटफॉर्म नीति संपादन पृष्ठ पर आदतों पर एक नज़र डालें और देखें कि क्या कोई छोटा लाल XX है, तो यह निश्चित रूप से एक स्पष्ट त्रुटि है।
नीति कार्यक्रम BUG के कारण चल रहे समय में कार्यक्रम असामान्यता प्रोग्राम में BUG है, और जब प्रोग्राम चल रहा होता है, तो एक असामान्य ट्रिगर होने से प्रोग्राम असामान्य रूप से बंद हो जाता है, जो इस तरह के त्रुटि संदेश दिखाता है।
इस तरह की त्रुटियों के कारण प्रोग्राम असामान्य हो जाता है और प्रोग्राम चलना बंद कर देता है।
गलत कॉन्फ़िगरेशन, सेटिंग के कारण त्रुटियां
एफएमजेड प्लेटफॉर्म पर, लेनदेन की सामान्य परिभाषा हैX_Y
इस तरह के प्रारूप में, एक्स ट्रेड करेंसी का नाम है, और वाई मूल्य निर्धारण मुद्रा का नाम है (उदाहरण के लिए, मुद्रा के स्थान पर अनुबंध लेनदेन के लिए मूल्य निर्धारण आमतौर पर USD में दर्शाया जाता है, जैसा कि पिछले लेखों में बताया गया है) ।BTC_USDT
और अगर मैं गलत तरीके से लेनदेन लिखता हूं, तो मैं इसे लिखता हूंBTC-USDT
。
एफएमजेड प्लेटफॉर्म के रीट्वीट सिस्टम में त्रुटिः
वास्तविक डिस्क में त्रुटि की रिपोर्टः
एक और गलती जो पेंगुइ अक्सर करता हैः
इस तरह की त्रुटियां एफएमजेड प्लेटफॉर्म खाते के पासवर्ड में बदलाव के कारण होती हैं, जिससे विनिमय ऑब्जेक्ट में कॉन्फ़िगरेशन होता हैAPI KEY
विफल (उपयोगकर्ता के एपीआई कुंजी ब्राउज़र के किनारे एन्क्रिप्टेड के बाद एफएमजेड प्लेटफॉर्म में कॉन्फ़िगर किए गए हैं), नीति शुरू नहीं हो सकी, जिसके बाद त्रुटि आई है।
इंटरफेस कॉल त्रुटि रिपोर्ट
इंटरफेस कॉल रिपोर्टिंग एक आम बात है जो चल रही रणनीतियों के दौरान होती है, पिछले लेखों में हमने सीखा है कि एफएमजेड प्लेटफॉर्म पर इंटरफेस के बारे में क्या है।नेटवर्क अनुरोध उत्पन्न करने वाला इंटरफ़ेस、नेटवर्क अनुरोध उत्पन्न नहीं करने वाला इंटरफ़ेस................................................................................
यहां कुछ इंटरफेस त्रुटि संदेश दिए गए हैं जो वेब अनुरोध उत्पन्न करते हैंः
नेटवर्क ओवरटाइम
नए लोगों को अक्सर मिलने वाली गलत सूचनाओं में से एक यह है कि वे घरेलू नेटवर्क (अपने कंप्यूटर या घरेलू सर्वर) का उपयोग कर रहे हैं। चूंकि अधिकांश एक्सचेंजों को दीवार दी गई है, इसलिए घरेलू नेटवर्क में बहुत सारे एक्सचेंजों तक पहुंच नहीं है, और एक्सेस इंटरफेस ओवरटाइम रिपोर्ट करता है।
http 429 त्रुटि
यह एक क्लासिक त्रुटि संदेश है, क्योंकि एक्सचेंज इंटरफेस पर कॉल करने की आवृत्ति बहुत अधिक है, जो एक्सचेंज की सीमा से अधिक है।
कुछ नए छात्र कह सकते हैं कि मैंने कई एक्सचेंजों के लिए आवेदन किए हैं।API KEY
या मैं कई एक्सचेंज खातों के लिए अधिक अनुरोध करता हूं जो काम नहीं करते हैं। हमें यह जानना होगा कि एक्सचेंज इंटरफेस एक्सेस आवृत्ति को सीमित करता है जो आमतौर पर आईपी पते पर आधारित होता है, बस इतना कहना है कि जब तक एक आईपी पते पर भेजे गए अनुरोध का पूरा आंकड़ा उस आईपी पते पर होता है, तब तक एक्सचेंज सर्वर को प्रवेश से इनकार कर दिया जाता है।
एक्सचेंज इंटरफेस बिजनेस लेवल की रिपोर्टिंग में त्रुटि
उपरोक्त टाइमआउट, 429 ये नेटवर्क स्तर की त्रुटियां हैं। एक्सचेंज इंटरफ़ेस व्यवसाय स्तर की समस्याएं भी रिपोर्ट करती हैं, जैसे कि मैं मौद्रिक बाजार प्राप्त करना चाहता हूं, लेकिन मैंने एक गैर-मौजूद लेनदेन जोड़ी सेट की है। मैंने एफएमजेड प्लेटफॉर्म के डिबगिंग टूल में परीक्षण किया, डिबगिंग टूल एक सुविधाजनक परीक्षण उपकरण है, जो वास्तविक परीक्षण फ़ंक्शन कॉल, डेटा प्राप्त करने आदि की जरूरतों के लिए बहुत उपयुक्त है।
डिबगिंग टूल निष्पादन के परिणाम, डिबगिंग टूल निष्पादन और वास्तविक डिस्क निष्पादन में कोई अंतर नहीं है।
Huobi 错误 GetTicker: Invalid ticker: {"Info":{"err-code":"invalid-parameter","err-msg":"invalid symbol","status":"error","ts":1620872079355},"High":0,"Low":0,"Sell":0,"Buy":0,"Last":0,"Volume":0,"OpenInterest":0,"Time":0}
यहाँ एक त्रुटि संदेश है जिसका अर्थ है कि लेन-देन अमान्य है (यहां से देखें)"err-msg":"invalid symbol"
) ।
इस तरह के और व्यवसाय से संबंधित कई अन्य उदाहरण भी हैं, जैसे कि कुछ एक्सचेंजों में लीवरेज सेट करने के लिए लीवरेज का समर्थन नहीं किया जाता है, और यदि लीवरेज का उपयोग किया जाता है, तो यह इंटरफ़ेस कॉल की त्रुटि का कारण बनता है।
एक इंटरफ़ेस कॉल को सूचीबद्ध करें जो नेटवर्क अनुरोध उत्पन्न नहीं करता है
फ्यूचर्स कॉन्ट्रैक्ट कोड सेट करें कुछ इंटरफेस केवल सिस्टम में कुछ वैश्विक चर सेट करते हैं, जो नेटवर्क अनुरोध उत्पन्न नहीं करते हैं, जैसेः
लेकिन पैरामीटर को गलत तरीके से पारित करना या गलत तरीके से लिखना भी गलत हो सकता है।
लेकिन चाहे कोई भी प्रकार का त्रुटि हो, प्रदर्शित त्रुटि सूचनाएं समस्या का पता लगाने के लिए महत्वपूर्ण जानकारी होती हैं, और आमतौर पर त्रुटि सूचनाओं से समस्या का पता लगाया जा सकता है। आप अनुवाद उपकरण का उपयोग कर सकते हैं, त्रुटि सूचनाओं का अनुवाद कर सकते हैं और महत्वपूर्ण जानकारी निकाल सकते हैं। उदाहरण के लिए, ऊपर दिए गए उदाहरण में।"err-msg":"invalid symbol"
, अनुवादः
पुनः परीक्षण प्रणाली भी एक मात्रात्मक उपकरण में एक महत्वपूर्ण बिंदु है, पुनः परीक्षण प्रणाली एक सुविधाजनक परीक्षण रणनीति प्रोटोटाइप, प्रारंभिक परीक्षण रणनीति में संभावित बग, तर्क संबंधी समस्याएं आदि प्रदान कर सकती है। पुनः परीक्षण प्रणाली के लिए तर्कसंगत दृष्टिकोण की आवश्यकता होती है। पुनः परीक्षण प्रणाली कुछ हद तक रणनीति के कुछ मुद्दों को प्रतिबिंबित कर सकती है।
नीचे एफएमजेड द्वारा समर्थित विभिन्न रणनीति भाषा स्तरों के बारे में एक सरल विवरण दिया गया है।
जावास्क्रिप्ट
ब्राउज़र के अंत में रीसेट, स्थानीय हार्डवेयर संसाधनों का उपयोग करते हैं।
पायथन
मेजबानों के पुनर्मूल्यांकन में, आप चुन सकते हैं कि किस मेजबान को विशेष रूप से आवंटित किया जा सकता है ((अपने स्वयं के तैनात मेजबान, FMZ प्लेटफॉर्म के सार्वजनिक मेजबान दोनों चलते हैं) । FMZ प्लेटफॉर्म पर सार्वजनिक मेजबानों के भारी बोझ को देखते हुए, स्थानीय मेजबानों के पुनर्मूल्यांकन का उपयोग करने की सिफारिश की जाती है ((यह भी तेजी से होगा, सार्वजनिक मेजबानों के पुनर्मूल्यांकन में, जब अधिक कार्य भार से अधिक होते हैं, तो कुछ पुनर्मूल्यांकन कार्य रद्द हो जाते हैं, जिससे पुनर्मूल्यांकन में बाधा आती है) ।)
सी++
स्क्रिप्ट भाषाओं के विपरीत, C++ की नीतियों को पहले संकलित किया जाना चाहिए और फिर निष्पादित किया जाना चाहिए। C++ की नीतियों को पहले FMZ प्लेटफॉर्म (सर्वर) पर संकलित किया जाता है। संकलित होने के बाद FMZ प्लेटफॉर्म (सर्वर) पर पुनः परीक्षण किया जाता है।
मे भाषा
अंतर्निहित कार्यान्वयन जावास्क्रिप्ट के लिए है, जो ब्राउज़र के किनारे पर भी दोहराया जाता है।
विज़ुअलाइज़
अंतर्निहित कार्यान्वयन जावास्क्रिप्ट के लिए है, जो ब्राउज़र के किनारे पर भी दोहराया जाता है।
आविष्कारक ने क्वांटिफाइड ट्रेडिंग प्लेटफॉर्म के लिए रीसेट सिस्टम रीसेट मोड को दो प्रकारों में विभाजित किया है ((यह एक अलग रणनीति भाषा है, यह रीसेट सेटिंग है, विभिन्न भाषाओं की रणनीति रीसेट एक ही है) ।) ।
एक बार जब आप एक बार फिर से परीक्षण प्रणाली का उपयोग करते हैं, तो आप अपने स्वयं के अनुभवों को साझा कर सकते हैं, और आप अपने स्वयं के अनुभवों को साझा कर सकते हैं।
1, एनालॉग स्तर पर पुनः परीक्षण एनालॉग-स्तरीय पुनर्मूल्यांकन का सरल अर्थ है कि K-लाइन डेटा के आधार पर समय-नोट के आधार पर मूल्य डेटा का उत्पादन किया जाता है।
K线中一根柱子不是有高开低收么,构成了一个价格框架,在这个K线代表的时间范围内,价格都在这个价格框架内,所以只要生成的价格在这个K线高开低收框架范围内,这个模拟出来的价格就是合理的。
इस तरह के एक चित्र का अनुकरण करेंःhttps://www.fmz.comबेशक, वास्तविक रीसेट सिस्टम इस अनुकरण को लागू करने के समय की स्थिति आरेख की तुलना में थोड़ा अधिक जटिल है, यहां गहराई से नहीं जाना है, केवल एनालॉग स्तर के रीसेट तंत्र को समझना है। इस सिद्धांत को जानने के बाद, आपको एनालॉग-स्तरीय पुनरीक्षण के नुकसान का ध्यान रखना होगा, हालांकि एनालॉग-स्तरीय पुनरीक्षण बहुत तेज़ है (क्योंकि एनालॉग द्वारा उत्पन्न कीमतें वास्तविक प्रति सेकंड की कीमत नहीं हैं) ।अनुकरणीय टिक परिवर्तन प्रवृत्तियह रणनीति बहुत अच्छा प्रदर्शन करेगी ((लेकिन वास्तविकता में कीमतें शायद इस तरह की नहीं हैं, हालांकि कीमतें इस K-लाइन स्तंभ के भीतर हैं) ।) । यहाँ K लाइन है कि एनालॉग टिक डेटा उत्पन्न करने के लिए प्रयोग किया जाता है नीचे K लाइन कहा जाता है, और इस K लाइन के चक्र कहा जाता हैनिचला K-लाइन चक्र, नीति सेटिंग पृष्ठ पर इस तरह सेट करेंः
यहाँ पर 1 मिनट सेट करने का अर्थ है कि एक मिनट के चक्र के साथ K-रेखा डेटा का उपयोग किया जाता है जो कि एनालॉग टिक उत्पन्न करने के लिए डेटा स्रोत है।
एक और बात यह है कि उच्च आवृत्ति रणनीतियों के लिए, एनालॉग-स्तर का उपयोग करना स्पष्ट रूप से उपयुक्त नहीं है। लेकिन रुझान रणनीतियों के लिए, एनालॉग-स्तर का उपयोग करना कुछ हद तक रणनीति के प्रदर्शन को दर्शाता है।
2. वास्तविक डिस्क स्तर पर पुनः परीक्षण एनालॉग-स्तरीय पुनरीक्षण के बारे में बात करते हुए, हम वास्तविक प्लेट-स्तरीय पुनरीक्षण के बारे में बात करते हैं। सरल शब्दों में, वास्तविक प्लेट-स्तरीय पुनरीक्षण वास्तविक प्रति सेकंड मूल्य डेटा को वापस करने के लिए है। रणनीति को बाजार में प्रति सेकंड मूल्य को वापस करने के लिए। इस पुनरीक्षण मोड में कुछ उच्च-व्यापार आवृत्ति वाली रणनीतियों का पुनरीक्षण किया जा सकता है, और कुछ संदर्भ मूल्य प्राप्त किए जा सकते हैं। इसका नुकसान यह है कि वास्तविक डिस्क स्तर पर पुनः परीक्षण डेटा बहुत बड़ा है और बड़े समय सीमा (आमतौर पर समय सीमा 1 दिन से कम) के लिए पुनः परीक्षण संभव नहीं है।आंकड़े, गहराई डेटा ग्रेड को कम करना (ट्रांजेक्शन पेन डेटा, डिस्कटॉप गहराई डेटा में वास्तविक डिस्क स्तर पर पुनः परीक्षण में प्रति सेकंड स्नैपशॉट भी हैं, इसलिए वास्तविक डिस्क स्तर पर पुनः परीक्षण डेटा का आकार बहुत बड़ा है), पुनः परीक्षण सीमा को उचित रूप से बढ़ाने के लिए, जैसे कि चित्रः
आविष्कारक ने क्वांटिफाइड ट्रेडिंग प्लेटफॉर्म रीट्रेसिंग सिस्टम के लिए डेटा स्रोत कहां है? रीट्रेसिंग सिस्टम डिफ़ॉल्ट रूप से एफएमजेड प्लेटफॉर्म के डेटा सेंटर का उपयोग करता है, जो स्वचालित रूप से सेट किए गए विभिन्न एक्सचेंजों के लिए विभिन्न मुद्राओं के लिए बाजार डेटा एकत्र करता है, जो प्लेटफॉर्म पर रीट्रेसिंग सिस्टम को प्रदान करता है।
1। FMZ डेटा केंद्र के लिए डेटा का उपयोग करना पिछले कुछ लेखों में उल्लेख किया गया हैःhttps://www.fmz.com/bbs-topic/6857#量化交易平台प्लेटफॉर्म द्वारा प्रदान किए जाने वाले रीसेट डेटा केवल सीमित व्यापारिक जोड़े का समर्थन करते हैं ((पूरे बाजार, सभी मुद्राओं के लिए रीसेट डेटा एक खगोलीय संख्या है, सभी वास्तविक नहीं हैं, प्लेटफॉर्म मुख्य एक्सचेंजों, मुख्य मुद्राओं के लिए बाजार डेटा एकत्र करता है)) ।
2। कस्टम डेटा स्रोत डेटा का उपयोग करें यदि आपके पास किसी एक्सचेंज का डेटा है, तो आप इसे एफएमजेड प्लेटफॉर्म के लिए उपलब्ध करा सकते हैं।
कस्टम डेटा स्रोतों के बारे में FMZ एपीआई दस्तावेज़ में भी कुछ जानकारी दी गई हैःhttps://www.fmz.com/api#自定义数据源
एफएमजेड के पास कुछ अन्य कार्यक्रम भी हैंः
जो लोग रुचि रखते हैं, वे संदर्भ के लिए अध्ययन कर सकते हैं।
प्रक्रियाबद्ध, मात्रात्मक लेनदेन।सीखना、परीक्षण、सोचें.. प्रश्नों के बारे में सोचना बेकार है, क्योंकि आप खाली नहीं सोच सकते हैं। समस्या को हल करने के लिए, प्रश्नों के बारे में सोचना सबसे प्रभावी है।जानकारी खोजेंऔर फिरकोशिश करो।、सोच-विचारयदि समस्या हल नहीं हुई है, तो कृपया ऊपर की क्रिया दोहराएं।
लेकिन आम तौर पर, जब वे किसी समस्या का सामना करते हैं, तो वे महसूस करते हैंः
यह बहुत मुश्किल है कि मैं प्रोग्राम, क्वांटिफाइड और रणनीति लिखूं। आधे दिन से देख रहे हैं, अभी भी बेहोश हैं! मैं अंदर नहीं गया था और हार मानने के लिए तैयार था! ...
एफएमजेड प्लेटफॉर्म पर प्रवेश करना वास्तव में आसान है, सबसे पहले जानकारी खोजने में सक्षम होना चाहिए। आविष्कारक क्वांटिफाइड ट्रेडिंग प्लेटफॉर्म रणनीति स्क्वायर, समुदाय और पुस्तकालय में बहुत सारी जानकारी है।
फिर हाथों से परीक्षण करने की क्षमता है, फिर परीक्षण प्रणाली का उपयोग करके परीक्षण करना आसान है। यह पूरी रणनीति का परीक्षण करने के बारे में नहीं है। वास्तव में, यदि आप पूरी तरह से 0 आधार हैं, तो आप एफएमजेड क्वांटिफाइड रीसेट सिस्टम पर जावास्क्रिप्ट प्रोग्रामिंग की मूल बातें भी सीख सकते हैं।
यह एक ट्यूटोरियल वेबसाइट है जहाँ मैं अक्सर जेएस सीखता हूंःhttps://www.runoob.com/js/js-loop-for.htmlऔर यह केवल जेएस तक सीमित नहीं है, सभी प्रकार के आईटी ज्ञान के साथ यहां पूछताछ और सीख सकते हैं। उदाहरण के लिए, मैं JS में एक नियमित अभिव्यक्ति का उपयोग करने के लिए नहीं पता है, क्या करना है? बेशक, पहले जानकारी देखें और फिर अपने हाथों से कोशिश करें।
मैं एक उदाहरण देखता हूंःमैं एक परीक्षण करना चाहता हूं, और यहां तक कि एफएमजेड प्लेटफॉर्म पर एक परीक्षण प्रणाली का उपयोग करके सीखना भी चाहता हूं।
एक एक्सचेंज को फिर से जांच प्रणाली पर सेट करें
नीचे दिए गए कोड का परीक्षण करेंः
function IsEmail(str) {
var reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;
return reg.test(str);
}
function main() {
var strEmailAddress1 = "13512345678"
Log(strEmailAddress1, " 是邮件地址么 ? ", " 回答:", IsEmail(strEmailAddress1))
var strEmailAddress2 = "123456789@qq.com"
Log(strEmailAddress2, " 是邮件地址么 ? ", " 回答:", IsEmail(strEmailAddress2))
}
यह एक बहुत अच्छा सीखने का उपकरण है! उदाहरण के लिए, मैं जावास्क्रिप्ट भाषा में लूप लॉजिक कैसे लिखना सीखना चाहता हूं।
एक चक्र एक सरणी के चर में प्रत्येक तत्व को सरणी के क्रम में प्रिंट करता हैः
function main() {
var arr = [{coinName: "BTC", price: 10000}, {coinName: "LTC", price: 100}, {coinName: "ETH", price: 2000}, {coinName: "ETC", price: 500}]
for (var i = 0 ; i < arr.length ; i++) {
Log(arr[i])
}
}
क्या यह क्षणिक है कि सीखने के लिए प्रेरित किया जाता है? वास्तव में, एफएमजेड पर, आप जावास्क्रिप्ट ट्यूटोरियल को देख सकते हैं और जावास्क्रिप्ट के मूल सिद्धांतों को अपने हाथों से सीख सकते हैं। जावास्क्रिप्ट सिंटैक्स में लगभग महारत हासिल है, अगले चरण में वास्तव में एक्सचेंज इंटरफ़ेस का उपयोग करके डेटा प्राप्त करने के लिए परीक्षण करने की आवश्यकता है, और एफएमजेड प्लेटफॉर्म का उपयोग कर सकते हैंडिबगिंग उपकरणएक वास्तविक इंटरफेस परीक्षण।
फिर अधिक सोचें, एक के खिलाफ तीन उठाएं, परीक्षण सत्यापन, तुलनात्मक विश्लेषण आदि।
लज़ुलीलीप्रशंसा