Type/to search
12
Follow
3
Followers
মিঃ মেংকে জিজ্ঞাসা করুন
Help
Created 2022-02-25 08:04:50  Updated 2022-02-25 08:52:20
 16
 1130

TypeError: cannot read property 'Price' of null at main (কোনও সময়ে এই কোডটি পাঠানো সম্ভব হবে না)FILE০৫৫৩), যার ফলে প্রোগ্রামটি বেরিয়ে যায়, মিনম্যাককে জিজ্ঞাসা করুন যে এটি কাস্টম ক্ষেত্রের কারণে null হয়েছে, বা দামের তথ্য না পাওয়ার কারণে, আমি var pos = exchange.GetPosition ((() পরিবর্তন করে var pos = _C ((exchange.GetPosition (()), আপনি কি এই সমস্যার সমাধান করতে পারেন? কারণ মডেল রিটার্ন এই বাগ পরীক্ষা করতে পারে না, এটি বাস্তব ডিস্কের উপর নির্ভর করে, তাই দয়া করে ডেমো ম্যানেজারের সাথে পরামর্শ করুন, ধন্যবাদ!

var currTotalEq = getTotalEquity() var pos = _C(exchange.GetPosition()) //var pos = exchange.GetPosition() if (currTotalEq && pos) { // LogStatus(_D(), "当前总权益:", currTotalEq, "持仓:", pos) var tblPos = { "type" : "table", "title" : "持仓", "cols" : ["持仓数量", "持仓方向", "持仓均价", "持仓盈亏", "合约代码", "自定义字段 / " + SpecifyPosField], "rows" : [] } var descType = ["多头仓位", "空头仓位"] for (var posIndex = 0 ; posIndex < pos.length ; posIndex++) { tblPos.rows.push([pos[posIndex].Amount, descType[pos[posIndex].Type], pos[posIndex].Price, pos[posIndex].Profit, pos[posIndex].ContractType, SpecifyPosField == "" ? "--" : pos[posIndex].Info[SpecifyPosField]]) } var tbl = { "type" : "table", "title" : "数据", "cols" : ["当前总权益", "实际盈亏", "当前价格", "买单价格/数量", "卖单价格/数量"], "rows" : [] } var buyOrder = null var sellOrder = null for (var orderIndex = 0 ; orderIndex < orders.length ; orderIndex++) { if (orders[orderIndex].Type == ORDER_TYPE_BUY) { buyOrder = orders[orderIndex] } else { sellOrder = orders[orderIndex] } } var realProfit = currTotalEq - totalEq if (exchange.GetName() == "Futures_Binance") { _.each(pos, function(p) { realProfit += parseFloat(p.Info.unRealizedProfit) }) } var t = exchange.GetTicker() tbl.rows.push([currTotalEq, realProfit, t ? t.Last : "--", (buyOrder.Price + "/" + buyOrder.Amount), (sellOrder.Price + "/" + sellOrder.Amount)])
Related Recommendations
Comment
All comments (16)

    将var pos = exchange.GetPosition()改为var pos = _C(exchange.GetPosition()),是否可以解决呢,取到值了再往下走

    4 years ago

    用了容错里面不能套()了,改为 var pos = _C(exchange.GetPosition)

    4 years ago

    谢谢指正,那我有些步骤是没有下单的,所以订单信息为null,必须允许传入null,应该要怎么改呢

    4 years ago

    553行附近的代码是:
    var t = exchange.GetTicker()
    tbl.rows.push([currTotalEq, realProfit, t ? t.Last : "--", (buyOrder.Price + "/" + buyOrder.Amount), (sellOrder.Price + "/" + sellOrder.Amount)])

    是否是没取到ticker数据,那改为var t = _C(exchange.GetTicker()),是否就可以了。

    4 years ago

    var t = _C(exchange.GetTicker)

    4 years ago

    可能是 buyOrder 或者 sellOrder 是null 导致的,可以打印检查一下。

    4 years ago

    tbl.rows.push,是这个不允许传入null值是吗?我有些步骤是没有下单的,所以订单信息为null,必须允许传入null,应该要怎么改呢,谢谢梦总!

    4 years ago

    可以传入空字符串。

    4 years ago

    后续我不下单了,这里是否允许为null呢,哪里可以改为允许为null呢,应该不下单,那订单号应该是null

    4 years ago

    buyOrder ?buyOrder.Price : "--" 这样处理就可以了。

    4 years ago

    tbl.rows.push([currTotalEq, realProfit, t ? t.Last : "--", (buyOrder ? buyOrder.Price : "--" + "/" + buyOrder.Amount), (sellOrder ? sellOrder.Price : "--" + "/" + sellOrder.Amount)])
    那就是上面的这样,对吧

    4 years ago

    可以,就是访问 某个变量的属性时,判断这个变量是不是null ,是就不访问, 就不会报错了。

    4 years ago

    就算有下订单,价格那里是有数值的,但是Amount那里始终都是没有数据的,也不报错,这个就很奇怪了,是哪里有问题呢?

    4 years ago

    没有下单的情况:改了price,还得改amount,但是尝试了
    tbl.rows.push([currTotalEq, realProfit, t ? t.Last : "--", (buyOrder ? buyOrder.Price : "--" + "/" + buyOrder ? buyOrder.Amount :"--"), (sellOrder ? sellOrder.Price : "--" + "/" + sellOrder ? sellOrder.Amount : "--")])
    还是报TypeError: cannot read property 'Amount' of null at main (FILE:554),是代码没更新吗?还是哪里有错?

    4 years ago
    tbl.rows.push([currTotalEq, realProfit, t ? t.Last : "--", (buyOrder ? buyOrder.Price : "--") + "/" + (buyOrder ? buyOrder.Amount :"--"), (sellOrder ? sellOrder.Price : "--") + "/" + (sellOrder ? sellOrder.Amount : "--")])

    问题总之就是,让buyOrder是null的时候,不要去访问buyOrder.Amount 或者 buyOrder.Price 就不会报错了。

    4 years ago

    谢谢,梦总!

    4 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)