作者 karlet

feat:优化持仓处理

@@ -231,13 +231,13 @@ class CmBroker @@ -231,13 +231,13 @@ class CmBroker
231 $wsDataPos = WsDataPos::TransferBybitPos($value, $this->symbolInfos, function ($symbol) { 231 $wsDataPos = WsDataPos::TransferBybitPos($value, $this->symbolInfos, function ($symbol) {
232 return $this->getSymbolSt($symbol); 232 return $this->getSymbolSt($symbol);
233 }); 233 });
234 - }  
235 if ($wsDataPos != null) { 234 if ($wsDataPos != null) {
236 $pos = Pos::transferWsDataPos($wsDataPos); 235 $pos = Pos::transferWsDataPos($wsDataPos);
237 $this->positions[$wsDataPos->symbol . "_" . $wsDataPos->posSide] = $pos; 236 $this->positions[$wsDataPos->symbol . "_" . $wsDataPos->posSide] = $pos;
238 $wsData = new WsData($this->plat, 'pos', $trade = null, $pos = $wsDataPos); 237 $wsData = new WsData($this->plat, 'pos', $trade = null, $pos = $wsDataPos);
239 $onData($wsData); 238 $onData($wsData);
240 } 239 }
  240 + }
241 return; 241 return;
242 } 242 }
243 } 243 }
@@ -79,7 +79,13 @@ class WsDataPos @@ -79,7 +79,13 @@ class WsDataPos
79 if ($symbolInfo === null) { 79 if ($symbolInfo === null) {
80 return null; 80 return null;
81 } 81 }
82 - $posSide = strtoupper($data['side']); 82 + $posSide = "BOTH";
  83 + if ($data['positionIdx'] == 1) {
  84 + $posSide = "LONG";
  85 + }
  86 + if ($data['positionIdx'] == 2) {
  87 + $posSide = "SHORT";
  88 + }
83 $qty = (float)$data['size']; 89 $qty = (float)$data['size'];
84 $lot = $qty; 90 $lot = $qty;
85 $avgPrice = (float)$data['entryPrice']; 91 $avgPrice = (float)$data['entryPrice'];