|
@@ -141,33 +141,30 @@ class WsDataTrade |
|
@@ -141,33 +141,30 @@ class WsDataTrade |
|
141
|
}
|
141
|
}
|
|
142
|
public static function TransferBitgetOrder(array $data, array $symbolInfos, callable $toSymbolSt): WsDataTrade|null
|
142
|
public static function TransferBitgetOrder(array $data, array $symbolInfos, callable $toSymbolSt): WsDataTrade|null
|
|
143
|
{
|
143
|
{
|
|
144
|
- if ($data['status'] != 'filled' && $data['status'] != 'partial-filled') {
|
|
|
|
145
|
- return null;
|
|
|
|
146
|
- }
|
|
|
|
147
|
-
|
|
|
|
148
|
$symbol = call_user_func($toSymbolSt, $data['symbol']);
|
144
|
$symbol = call_user_func($toSymbolSt, $data['symbol']);
|
|
149
|
/** @var SymbolInfo $symbolInfo */
|
145
|
/** @var SymbolInfo $symbolInfo */
|
|
150
|
$symbolInfo = $symbolInfos[$symbol] ?? null;
|
146
|
$symbolInfo = $symbolInfos[$symbol] ?? null;
|
|
151
|
if ($symbolInfo === null) {
|
147
|
if ($symbolInfo === null) {
|
|
152
|
return null;
|
148
|
return null;
|
|
153
|
}
|
149
|
}
|
|
154
|
-
|
|
|
|
155
|
- return new WsDataTrade(
|
|
|
|
156
|
- 'bitget',
|
|
|
|
157
|
- 'BOTH',
|
|
|
|
158
|
- $symbol,
|
|
|
|
159
|
- strtoupper($data['side']),
|
|
|
|
160
|
- (float)$data['fillPrice'],
|
|
|
|
161
|
- (float)$data['fillQuantity'],
|
|
|
|
162
|
- (float)$data['fillQuantity'],
|
|
|
|
163
|
- 0,
|
|
|
|
164
|
- (float)$data['fee'],
|
|
|
|
165
|
- (float)$data['fillPrice'] * (float)$data['fillQuantity'],
|
|
|
|
166
|
- (int)($data['cTime']),
|
|
|
|
167
|
- $data['tradeId'],
|
|
|
|
168
|
- $data['orderId'],
|
|
|
|
169
|
- $data['clientOid'],
|
|
|
|
170
|
- 1
|
|
|
|
171
|
- );
|
150
|
+ $plat = 'bitget';
|
|
|
|
151
|
+ $side = strtoupper($data['side']);
|
|
|
|
152
|
+ $price = (float)$data['price'];
|
|
|
|
153
|
+ $qty = (float)$data['baseVolume'];
|
|
|
|
154
|
+ $lot = $qty;
|
|
|
|
155
|
+ $fee = (float)$data['feeDetail'][0]['totalFee'];
|
|
|
|
156
|
+ $pnl = (float)$data['profit'];
|
|
|
|
157
|
+ if (($pnl == 0 && $side == "BUY") || ($pnl != 0 && $side == "SELL")) {
|
|
|
|
158
|
+ $posSide = "LONG";
|
|
|
|
159
|
+ } else {
|
|
|
|
160
|
+ $posSide = "SHORT";
|
|
|
|
161
|
+ }
|
|
|
|
162
|
+ $quoteVol = (float)$data['quoteVolume'];
|
|
|
|
163
|
+ $ts = $data['uTime'];
|
|
|
|
164
|
+ $tradeId = $data['tradeId'];
|
|
|
|
165
|
+ $ordId = $data['orderId'];
|
|
|
|
166
|
+ $cliOrdId = $data['clientOid'];
|
|
|
|
167
|
+ $lever = 0;
|
|
|
|
168
|
+ return new WsDataTrade($plat, $posSide, $symbol, $side, $price, $qty, $lot, $pnl, $fee, $quoteVol, $ts, $tradeId, $ordId, $cliOrdId, $lever);
|
|
172
|
}
|
169
|
}
|
|
173
|
} |
170
|
} |