तो आप इस समस्या को कैसे डिबग कर सकते हैं? यदि आपके खाते में कोई स्थिति नहीं है, तो निम्न कोड का उपयोग करके स्थिति जानकारी प्राप्त करें while ((true) { var position=_C ((exchange.GetPosition)
if ((position==null) {
जारी रखें
}
type=position[0].Type
if ((type ==PD_LONG) {
यदि (excell!==sellPrice) {
CancelPendingOrders (रद्द करें)
exchange.SetDirection ((
मैंने if में स्थितियों को बदलने की कोशिश की है, जैसे position[0]==null या typeof(position) ==undefined, या फिर यह type=position[0] के पीछे की क्वेरी को निष्पादित करेगा। Type क्वेरी ने नीति को गलत कर दिया है।
इस समस्या को कैसे हल किया जाए?
सियोंगलोंगहुईइस समस्या का समाधान इस प्रकार हैः var position = _C ((exchange.GetPosition); if ((position.length>0) { // कृपया कोड को इस बड़े कोष्ठक में रखें। सिद्धांत इस प्रकार है: पहले उस सरणी की लंबाई का निर्धारण करें जिसे यह रखरखाव फ़ंक्शन लौटाता है, यदि लंबाई 0 से अधिक है, तो यह बताता है कि रखरखाव जानकारी है, सीधे null का उपयोग करके, undefine निर्णय नहीं किया जा सकता है। फिर position[0] तक पहुँचने के लिए। }
यमुनाउंटएक ही समस्या के साथ, मुझे लगता है कि यह आवश्यक है कि एक त्रुटि-सहिष्णु फ़ंक्शन को एक्सचेंज.गेटपोजीशन के लिए अलग से सेट किया जाए, अन्यथा यह फ़ंक्शन बिना स्टोरेज के लगभग पूरी तरह से अनुपयोगी है। वैसे, कृपया अपने मकान मालिक से पूछें कि यह कैसे हल हुआ?
आविष्कारक मात्रा - छोटे सपनेपोस्ट को देखते हुए, मुझे समस्या मिली, जब आप exchange.GetPosition को कॉल करते हैं))) यदि आप स्टॉक नहीं रखते हैं, तो [] लौटाता है, एक खाली सरणी, जो शून्य के बराबर नहीं है, यह आपका निर्णय है। position == null पर, false है, इसलिए continue ट्रिगर नहीं होता है, और फिर आप position[0] पर जाते हैं, यह तत्व मौजूद नहीं है, इसलिए undefine है, और उसके Type गुण को फिर से कॉल करने से त्रुटि होती है।