作者 karlet

feat:订单成交监听

... ... @@ -117,20 +117,25 @@ class WsDataTrade
public static function TransferBybitTrade($data, $symbolInfos, callable $toSymbolSt): WsDataTrade|null
{
$platform = 'bybit';
$order = $data['data'];
$symbol = call_user_func($toSymbolSt, $order['symbol']);
$posSide = strtoupper($order['side']);
$side = strtoupper($order['side']);
$price = (float)$order['price'];
$qty = (float)$order['qty'];
$symbol = call_user_func($toSymbolSt, $data['symbol']);
$posSide = "";
$side = strtoupper($data['side']);
$price = (float)$data['execPrice'];
$qty = (float)$data['execQty'];
$lot = $qty;
$pnl = (float)$order['realised_pnl'];
$fee = (float)$order['fee'];
$pnl = (float)$data['execPnl'];
if (($pnl == 0 && $side == "BUY") || ($pnl != 0 && $side == "SELL")) {
$posSide = "LONG";
}
if (($pnl == 0 && $side == "SELL") || ($pnl != 0 && $side == "BUY")) {
$posSide = "SHORT";
}
$fee = (float)$data['execFee'];
$quoteVol = $price * $qty;
$ts = $order['transact_time'];
$tradeId = $order['order_id'];
$ordId = $order['order_id'];
$cliOrdId = $order['order_link_id'];
$ts = $data['execTime'];
$tradeId = $data['execId'];
$ordId = $data['orderId'];
$cliOrdId = $data['orderLinkId'];
$lever = 0;
return new WsDataTrade($platform, $posSide, $symbol, $side, $price, $qty, $lot, $pnl, $fee, $quoteVol, $ts, $tradeId, $ordId, $cliOrdId, $lever);
}
... ...