lxf 1 tydzień temu
rodzic
commit
5b7c1709e7

+ 10 - 15
src/App.vue

@@ -157,20 +157,15 @@ export default {
       if (msg) {
         if (msg.type == 'depth' && this.updateSymbolList.indexOf(msg.symbol) != -1) {
           if (this.productDataObj && this.productDataObj[msg.symbol] !== undefined) {
-            var targetSymbol = this.productDataObj[msg.symbol];
             var asks = (msg.asks || []).sort((a, b) => Number(a.price) - Number(b.price)).filter(item => Number(item.price))
             var bids = (msg.bids || []).sort((a, b) => Number(b.price) - Number(a.price)).filter(item => Number(item.price))
             if (asks[0]) {
               var ask = asks[0].price
-              this.$set(this.productDataObj[msg.symbol], 'spread', this.$bigDecimal.subtract(ask, targetSymbol.close))
-              this.$set(this.productDataObj[msg.symbol], 'ask', ask)
-              if (targetSymbol.close) {
-                this.$set(this.productDataObj[msg.symbol], 'percentage', ((((ask || targetSymbol.close) - targetSymbol.close) / targetSymbol.close) * 100).toFixed(2))
-              }
+              this.$set(this.productDataObj[msg.symbol], 'buy', ask)
             }
             if (bids[0]) {
               var bid = bids[0].price
-              this.$set(this.productDataObj[msg.symbol], 'bid', bid)
+              this.$set(this.productDataObj[msg.symbol], 'sell', bid)
             }
           }
           bus.$emit('updateDepth', msg)
@@ -183,14 +178,14 @@ export default {
         if (msg.type == 'price' && this.updateSymbolList.indexOf(msg.symbol) != -1) {
           if (this.productDataObj && this.productDataObj[msg.symbol] !== undefined) {
             var item = this.productDataObj[msg.symbol]
-            msg.ask = Number(this.$handleDigits(item.ask, item.digits))
-            msg.bid = Number(this.$handleDigits(item.bid, item.digits))
-            // if (item.high < item.ask) {
-            //   this.$set(this.productDataObj[msg.symbol], 'high', msg.ask)
-            // }
-            // if (item.low > item.ask) {
-            //   this.$set(this.productDataObj[msg.symbol], 'low', msg.ask)
-            // }
+            this.$set(this.productDataObj[msg.symbol], 'spread', this.$bigDecimal.subtract(msg.ask, item.close))
+            if (item.close) {
+              this.$set(this.productDataObj[msg.symbol], 'percentage', ((((msg.ask || item.close) - item.close) / item.close) * 100).toFixed(2))
+            }
+            msg.ask = Number(this.$handleDigits(msg.ask, item.digits))
+            msg.bid = Number(this.$handleDigits(msg.bid, item.digits))
+            this.$set(this.productDataObj[msg.symbol], 'ask', msg.ask)
+            this.$set(this.productDataObj[msg.symbol], 'bid', msg.bid)
             bus.$emit('updateChart', msg)
           }
         }

+ 18 - 19
src/view/accountDetail/index.vue

@@ -185,7 +185,6 @@ export default {
       }).then(res => {
         this.positionSign = true
         this.positionList = res.list || []
-        this.updateSymbol(false)
       }).catch(() => {}).finally(() => {
         this.ajaxSign += 1
         this.loadedAll()
@@ -261,11 +260,11 @@ export default {
         if (sign) {
           this.updateSign = true
           if (this.productDataObj[item.symbol]) {
-            if (item.cmd == 0) {
-              v.close_price = this.productDataObj[item.symbol].bid
+            if (item.cmd == 0 && this.productDataObj[item.symbol].sell) {
+              v.close_price = this.productDataObj[item.symbol].sell
             }
-            if (item.cmd == 1) {
-              v.close_price = this.productDataObj[item.symbol].ask
+            if (item.cmd == 1 && this.productDataObj[item.symbol].buy) {
+              v.close_price = this.productDataObj[item.symbol].buy
             }
           }
           v.profit = this.formatProfit(v) || v.profit
@@ -372,19 +371,19 @@ export default {
           }
           if (data.cmd == '1') {
             if (market2) {
-              profit = (data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size * rate
+              profit = (data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size * rate
             } else if (market1) {
-              profit = ((data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size) / rate
+              profit = ((data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size) / rate
             } else {
-              profit = (data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size
+              profit = (data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size
             }
           } else if (data.cmd == '0') {
             if (market2) {
-              profit = (currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size * rate
+              profit = (data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size * rate
             } else if (market1) {
-              profit = ((currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size) / rate
+              profit = ((data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size) / rate
             } else {
-              profit = (currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size
+              profit = (data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size
             }
           }
         } else if (currencyData.profit_mode == '0') {
@@ -399,27 +398,27 @@ export default {
           }
           if (data.cmd == '1') {
             if (market2) {
-              profit = (data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size * rate
+              profit = (data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size * rate
             } else if (market1) {
-              profit = (( data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size) / rate
+              profit = (( data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size) / rate
             } else {
-              profit = ((data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size)
+              profit = ((data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size)
             }
           } else if (data.cmd == '0') {
             if (market2) {
-              profit = (currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size * rate
+              profit = (data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size * rate
             } else if (market1) {
-              profit = ((currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size) / rate
+              profit = ((data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size) / rate
             } else {
-              profit = ((currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size)
+              profit = ((data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size)
             }
           }
         }
       } else {
         if (data.cmd == '1') {
-          profit = (data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size
+          profit = (data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size
         } else if (data.cmd == '0') {
-          profit = (currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size
+          profit = (data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size
         }
       }
       if (profit) {

+ 18 - 18
src/view/accountOperate/components/profitBox.vue

@@ -107,11 +107,11 @@ export default {
         if (sign) {
           this.updateSign = true
           if (this.productDataObj[item.symbol]) {
-            if (item.cmd == 0) {
-              v.close_price = this.productDataObj[item.symbol].bid
+            if (item.cmd == 0 && this.productDataObj[item.symbol].sell) {
+              v.close_price = this.productDataObj[item.symbol].sell
             }
-            if (item.cmd == 1) {
-              v.close_price = this.productDataObj[item.symbol].ask
+            if (item.cmd == 1 && this.productDataObj[item.symbol].buy) {
+              v.close_price = this.productDataObj[item.symbol].buy
             }
           }
           v.profit = this.formatProfit(v) || v.profit
@@ -141,19 +141,19 @@ export default {
           }
           if (data.cmd == '1') {
             if (market2) {
-              profit = (data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size * rate
+              profit = (data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size * rate
             } else if (market1) {
-              profit = ((data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size) / rate
+              profit = ((data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size) / rate
             } else {
-              profit = (data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size
+              profit = (data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size
             }
           } else if (data.cmd == '0') {
             if (market2) {
-              profit = (currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size * rate
+              profit = (data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size * rate
             } else if (market1) {
-              profit = ((currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size) / rate
+              profit = ((data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size) / rate
             } else {
-              profit = (currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size
+              profit = (data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size
             }
           }
         } else if (currencyData.profit_mode == '0') {
@@ -168,27 +168,27 @@ export default {
           }
           if (data.cmd == '1') {
             if (market2) {
-              profit = (data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size * rate
+              profit = (data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size * rate
             } else if (market1) {
-              profit = (( data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size) / rate
+              profit = (( data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size) / rate
             } else {
-              profit = ((data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size)
+              profit = ((data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size)
             }
           } else if (data.cmd == '0') {
             if (market2) {
-              profit = (currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size * rate
+              profit = (data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size * rate
             } else if (market1) {
-              profit = ((currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size) / rate
+              profit = ((data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size) / rate
             } else {
-              profit = ((currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size)
+              profit = ((data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size)
             }
           }
         }
       } else {
         if (data.cmd == '1') {
-          profit = (data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size
+          profit = (data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size
         } else if (data.cmd == '0') {
-          profit = (currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size
+          profit = (data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size
         }
       }
       if (profit) {

+ 18 - 18
src/view/exchange/index.vue

@@ -361,11 +361,11 @@ export default {
       positionList.forEach((item, index) => {
         var v = item
         if (this.productDataObj[item.symbol]) {
-          if (item.cmd == 0) {
-            v.close_price = this.productDataObj[item.symbol].bid
+          if (item.cmd == 0 && this.productDataObj[item.symbol].sell) {
+            v.close_price = this.productDataObj[item.symbol].sell
           }
-          if (item.cmd == 1) {
-            v.close_price = this.productDataObj[item.symbol].ask
+          if (item.cmd == 1 && this.productDataObj[item.symbol].buy) {
+            v.close_price = this.productDataObj[item.symbol].buy
           }
         }
         v.profit = this.formatProfit(v)
@@ -410,19 +410,19 @@ export default {
           }
           if (data.cmd == '1') {
             if (market2) {
-              profit = (data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size * rate
+              profit = (data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size * rate
             } else if (market1) {
-              profit = ((data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size) / rate
+              profit = ((data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size) / rate
             } else {
-              profit = (data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size
+              profit = (data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size
             }
           } else if (data.cmd == '0') {
             if (market2) {
-              profit = (currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size * rate
+              profit = (data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size * rate
             } else if (market1) {
-              profit = ((currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size) / rate
+              profit = ((data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size) / rate
             } else {
-              profit = (currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size
+              profit = (data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size
             }
           }
         } else if (currencyData.profit_mode == '0') {
@@ -437,27 +437,27 @@ export default {
           }
           if (data.cmd == '1') {
             if (market2) {
-              profit = (data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size * rate
+              profit = (data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size * rate
             } else if (market1) {
-              profit = (( data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size) / rate
+              profit = (( data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size) / rate
             } else {
-              profit = ((data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size)
+              profit = ((data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size)
             }
           } else if (data.cmd == '0') {
             if (market2) {
-              profit = (currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size * rate
+              profit = (data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size * rate
             } else if (market1) {
-              profit = ((currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size) / rate
+              profit = ((data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size) / rate
             } else {
-              profit = ((currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size)
+              profit = ((data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size)
             }
           }
         }
       } else {
         if (data.cmd == '1') {
-          profit = (data.open_price - currencyData.ask) * (data.volume / 100) * currencyData.contract_size
+          profit = (data.open_price - data.close_price) * (data.volume / 100) * currencyData.contract_size
         } else if (data.cmd == '0') {
-          profit = (currencyData.bid - data.open_price) * (data.volume / 100) * currencyData.contract_size
+          profit = (data.close_price - data.open_price) * (data.volume / 100) * currencyData.contract_size
         }
       }
       if (profit) {