براہ کرم خوابوں کو پڑھائیں

مصنف:نو1898, تخلیق: 2022-02-25 08:04:50, تازہ کاری: 2022-02-25 08:52:20

میں نے ایک کوڈ کا حوالہ دیا ہے جو کسی وقت غلط ہو جائے گا: TypeError: cannot read property فائلآپ کو اس مسئلے کو حل کرنے کی ضرورت نہیں ہے، کیونکہ اینالاگ دوبارہ جانچ پڑتال اس مسئلے کو ٹیسٹ کرنے کے قابل نہیں ہے، اس کے لئے حقیقی ڈسک ہونا ضروری ہے، لہذا پہلے آپ کو اس مسئلے کو حل کرنے کی ضرورت ہے، شکریہ!

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)])

مزید

نو1898var pos = exchange.GetPosition (() کو var pos = _C ((exchange.GetPosition (()) میں تبدیل کریں ، کیا اس کا حل کیا جاسکتا ہے ، قیمت لے لو اور نیچے جاؤ

نو1898553 لائن کے قریب کا کوڈ یہ ہے: var t = exchange.GetTicker (() tbl.rows.push (([currTotalEq, realProfit, t? t.Last : "--", (buyOrder.Price + "/" + buyOrder.Amount) ، (sellOrder.Price + "/" + sellOrder.Amount))) اگر ٹکر ڈیٹا نہیں لیا گیا ہے تو ، یہ var t = _C ((exchange.GetTicker))) ، کیا یہ ٹھیک ہے؟

نو1898آپ کا شکریہ، خواب!

چھوٹا سا خواب`` 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 پر جانے سے غلطی نہیں ہوگی۔

نو1898اگر کوئی آرڈر دیا جائے تو قیمتیں عددی ہوتی ہیں، لیکن Amount کے پاس ہمیشہ کوئی ڈیٹا نہیں ہوتا اور نہ ہی کوئی غلطی ہوتی ہے۔ یہ عجیب بات ہے، مسئلہ کیا ہے؟

نو1898اگر آپ نے پہلے سے ہی اس کی سفارش نہیں کی ہے تو ، آپ کو اس کی قیمت تبدیل کرنے کی ضرورت ہے ، اور آپ کو اس کی رقم تبدیل کرنے کی ضرورت ہے ، لیکن آپ نے کوشش کی ہے۔ 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) ، کیا کوڈ اپ ڈیٹ نہیں ہوا ہے؟ یا کہاں غلطی ہے؟

چھوٹا سا خواباگر آپ کسی متغیر کی خصوصیت تک رسائی حاصل کرسکتے ہیں تو ، اس بات کا فیصلہ کریں کہ آیا یہ متغیر null ہے یا نہیں ، اور اس سے غلطی نہیں ہوگی۔

نو1898tbl.rows.push (([currTotalEq, realProfit, t? t.Last : "--", (buyOrder? buyOrder.Price : "--" + "/" + buyOrder.Amount) ، (sellOrder? sellOrder.Price: "--" + "/" + sellOrder.Amount))) یہ اوپر کی طرح ہے، ٹھیک ہے؟

چھوٹا سا خوابbuyOrder?buyOrder.Price : "--" اس طرح سے کام ہو جائے گا۔

چھوٹا سا خوابآپ کو ایک خالی سٹرنگ میں منتقل کر سکتے ہیں.

نو1898آپ کا شکریہ۔ میں نے کچھ مراحل میں کوئی آرڈر نہیں کیا ہے۔ لہذا آرڈر کی معلومات null ہیں اور انہیں null کی اجازت دینی ہوگی۔

ہلکے بادلvar t = _C ((تبادلہ.GetTicker)

ہلکے بادلغلطی کی اجازت کے اندر نہیں کر سکتے ہیں، var pos = _C (exchange.GetPosition)

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

نو1898میں نے اس کے بعد نہیں کیا، کیا یہ null کی اجازت دیتا ہے، جہاں میں اسے null کی اجازت دیتا ہوں، میں نے اسے نہیں کیا، اور یہ نمبر null ہونا چاہئے

چھوٹا سا خوابیہ ہو سکتا ہے کہ buyOrder یا sellOrder null کی وجہ سے ہو، آپ اسے چیک کرنے کے لئے پرنٹ کر سکتے ہیں۔