|
...
|
...
|
@@ -141,33 +141,30 @@ class WsDataTrade |
|
|
|
}
|
|
|
|
public static function TransferBitgetOrder(array $data, array $symbolInfos, callable $toSymbolSt): WsDataTrade|null
|
|
|
|
{
|
|
|
|
if ($data['status'] != 'filled' && $data['status'] != 'partial-filled') {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
$symbol = call_user_func($toSymbolSt, $data['symbol']);
|
|
|
|
/** @var SymbolInfo $symbolInfo */
|
|
|
|
$symbolInfo = $symbolInfos[$symbol] ?? null;
|
|
|
|
if ($symbolInfo === null) {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
return new WsDataTrade(
|
|
|
|
'bitget',
|
|
|
|
'BOTH',
|
|
|
|
$symbol,
|
|
|
|
strtoupper($data['side']),
|
|
|
|
(float)$data['fillPrice'],
|
|
|
|
(float)$data['fillQuantity'],
|
|
|
|
(float)$data['fillQuantity'],
|
|
|
|
0,
|
|
|
|
(float)$data['fee'],
|
|
|
|
(float)$data['fillPrice'] * (float)$data['fillQuantity'],
|
|
|
|
(int)($data['cTime']),
|
|
|
|
$data['tradeId'],
|
|
|
|
$data['orderId'],
|
|
|
|
$data['clientOid'],
|
|
|
|
1
|
|
|
|
);
|
|
|
|
$plat = 'bitget';
|
|
|
|
$side = strtoupper($data['side']);
|
|
|
|
$price = (float)$data['price'];
|
|
|
|
$qty = (float)$data['baseVolume'];
|
|
|
|
$lot = $qty;
|
|
|
|
$fee = (float)$data['feeDetail'][0]['totalFee'];
|
|
|
|
$pnl = (float)$data['profit'];
|
|
|
|
if (($pnl == 0 && $side == "BUY") || ($pnl != 0 && $side == "SELL")) {
|
|
|
|
$posSide = "LONG";
|
|
|
|
} else {
|
|
|
|
$posSide = "SHORT";
|
|
|
|
}
|
|
|
|
$quoteVol = (float)$data['quoteVolume'];
|
|
|
|
$ts = $data['uTime'];
|
|
|
|
$tradeId = $data['tradeId'];
|
|
|
|
$ordId = $data['orderId'];
|
|
|
|
$cliOrdId = $data['clientOid'];
|
|
|
|
$lever = 0;
|
|
|
|
return new WsDataTrade($plat, $posSide, $symbol, $side, $price, $qty, $lot, $pnl, $fee, $quoteVol, $ts, $tradeId, $ordId, $cliOrdId, $lever);
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|