میں نے ایک کوڈ کا حوالہ دیا ہے جو کسی وقت غلط ہو جائے گا: 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 کی وجہ سے ہو، آپ اسے چیک کرنے کے لئے پرنٹ کر سکتے ہیں۔