Type/to search
0
Follow
0
Followers
यदि कोई स्थिति नहीं है तो getposition फ़ंक्शन त्रुटि रिपोर्ट करता है।
FAQ
Created 2018-04-12 16:36:42  
 3
 2023

कृपया मुझे बताएं कि मैं इस समस्या को कैसे डिबग कर सकता हूं?
यदि खाते में कोई स्थिति नहीं है तो निम्न कोड का उपयोग करके स्थिति जानकारी प्राप्त करें
while(true){
var position=_C(exchange.GetPosition)

if(position==null){
continue
}
type=position[0].Type
if(type==PD_LONG){
if(exsell!==sellPrice){
CancelPendingOrders()
exchange.SetDirection("closebuy")
exchange.Sell(sellPrice,position[0].Amount)
exsell=sellPrice
}
}
जब खाते में कोई स्थिति नहीं है, तो getposition को एक खाली सरणी प्राप्त करनी चाहिए[], तो हम if कथन में continue करते हैं और फिर से cycle शुरू करते हैं, लेकिन फिर भी यह एक त्रुटि देता है
TypeError: cannot read property 'Type' of undefined at main (FILE:129)

मैं स्थिति के रूप में if में शर्तों को बदलने की कोशिश की[0]==null या typeof(position)==undefined या तो काम नहीं करता है या फिर यह type=position के बाद के फ़ंक्शन को निष्पादित करता है[0] टाइपबैक नीति को विफल करता है

और इस समस्या को कैसे हल किया जाए?

Related Recommendations
Comment
All comments (3)

    解决办法如下:
    var position = _C(exchange.GetPosition);
    if(position.length>0)
    {
    //请把代码放在这个大括号里. 原理如下: 先判断这个持仓函数返回的数组的长度, 长度大于0, 表示有持仓信息了, 直接用null, undefine判断都不行. 然后才能访问position[0]
    }

    5 years ago

    遇到相同的问题了,感觉有必要针对exchange.GetPosition单独设置一个容错函数,否则在没有持仓的情况下,这个函数几乎完全无法使用
    顺便请问下楼主,最后是如何解决的

    8 years ago

    看下了帖子 ,发现问题了, 在您调用 exchange.GetPosition() 的时候 如果 你没有持仓 , 会返回 [] , 一个空数组, 这个 空数组 并不等于 null , 就是你判断
    position == null 的时候 ,是 false 的, 所以不会 触发 continue, 然后 你访问 position[0] 这个元素是 不存在的,所以是 undefine ,再调用 他的 Type 属性 就报错了。

    8 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)