正在显示
4 个修改的文件
包含
17 行增加
和
25 行删除
| @@ -19,12 +19,12 @@ $restHost = "http://bgapi.keetu.com"; | @@ -19,12 +19,12 @@ $restHost = "http://bgapi.keetu.com"; | ||
| 19 | $broker = new CmBroker(CmBroker::PLAT_BITGET, $apiInfo, $wsHost, $restHost); | 19 | $broker = new CmBroker(CmBroker::PLAT_BITGET, $apiInfo, $wsHost, $restHost); |
| 20 | 20 | ||
| 21 | output("开始监听"); | 21 | output("开始监听"); |
| 22 | -// $broker->accListen(function (WsData $data) { | ||
| 23 | -// if ($data->dataType == "order") { | ||
| 24 | -// var_dump($data); | ||
| 25 | -// } | ||
| 26 | -// }); | ||
| 27 | -$broker->setLever("BTCUSDT", 20); | 22 | +$broker->accListen(function (WsData $data) { |
| 23 | + if ($data->dataType == "pos") { | ||
| 24 | + var_dump($data->pos->toArray()); | ||
| 25 | + } | ||
| 26 | +}); | ||
| 27 | +// $broker->setLever("BTCUSDT", 20); | ||
| 28 | // $broker->klineListen("BTCUSDT", "1m", function ($data) { | 28 | // $broker->klineListen("BTCUSDT", "1m", function ($data) { |
| 29 | // output($data->toArray()); | 29 | // output($data->toArray()); |
| 30 | // }); | 30 | // }); |
| @@ -285,11 +285,9 @@ class CmBroker | @@ -285,11 +285,9 @@ class CmBroker | ||
| 285 | } | 285 | } |
| 286 | } | 286 | } |
| 287 | 287 | ||
| 288 | - // 处理账户和持仓数据 | ||
| 289 | - if (isset($data['arg']) && $data['arg']['channel'] == 'account') { | ||
| 290 | - foreach ($data['data'] as $value) { | ||
| 291 | - if (isset($value['positions'])) { | ||
| 292 | - foreach ($value['positions'] as $pos) { | 288 | + // 处理持仓数据 |
| 289 | + if (isset($data['arg']) && $data['arg']['channel'] == 'positions') { | ||
| 290 | + foreach ($data['data'] as $pos) { | ||
| 293 | $wsDataPos = WsDataPos::TransferBitgetPos($pos, $this->symbolInfos, function ($symbol) { | 291 | $wsDataPos = WsDataPos::TransferBitgetPos($pos, $this->symbolInfos, function ($symbol) { |
| 294 | return $this->getSymbolSt($symbol); | 292 | return $this->getSymbolSt($symbol); |
| 295 | }); | 293 | }); |
| @@ -299,8 +297,6 @@ class CmBroker | @@ -299,8 +297,6 @@ class CmBroker | ||
| 299 | $onData($wsData); | 297 | $onData($wsData); |
| 300 | } | 298 | } |
| 301 | } | 299 | } |
| 302 | - } | ||
| 303 | - } | ||
| 304 | return; | 300 | return; |
| 305 | } | 301 | } |
| 306 | } | 302 | } |
| @@ -203,7 +203,6 @@ class WsDataOrder | @@ -203,7 +203,6 @@ class WsDataOrder | ||
| 203 | } | 203 | } |
| 204 | public static function TransferBitgetOrder(array $data, array $symbolInfos, callable $toSymbolSt): WsDataOrder|null | 204 | public static function TransferBitgetOrder(array $data, array $symbolInfos, callable $toSymbolSt): WsDataOrder|null |
| 205 | { | 205 | { |
| 206 | - var_dump($data); | ||
| 207 | $symbol = call_user_func($toSymbolSt, $data['instId']); | 206 | $symbol = call_user_func($toSymbolSt, $data['instId']); |
| 208 | /** @var SymbolInfo $symbolInfo */ | 207 | /** @var SymbolInfo $symbolInfo */ |
| 209 | $symbolInfo = $symbolInfos[$symbol] ?? null; | 208 | $symbolInfo = $symbolInfos[$symbol] ?? null; |
| @@ -73,6 +73,7 @@ class WsDataPos | @@ -73,6 +73,7 @@ class WsDataPos | ||
| 73 | } | 73 | } |
| 74 | public static function TransferBybitPos($data, $symbolInfos, callable $toSymbolSt): WsDataPos|null | 74 | public static function TransferBybitPos($data, $symbolInfos, callable $toSymbolSt): WsDataPos|null |
| 75 | { | 75 | { |
| 76 | + var_dump($data); | ||
| 76 | $symbol = call_user_func($toSymbolSt, $data['symbol']); | 77 | $symbol = call_user_func($toSymbolSt, $data['symbol']); |
| 77 | /** @var SymbolInfo $symbolInfo */ | 78 | /** @var SymbolInfo $symbolInfo */ |
| 78 | $symbolInfo = $symbolInfos[$symbol] ?? null; | 79 | $symbolInfo = $symbolInfos[$symbol] ?? null; |
| @@ -94,21 +95,17 @@ class WsDataPos | @@ -94,21 +95,17 @@ class WsDataPos | ||
| 94 | } | 95 | } |
| 95 | public static function TransferBitgetPos(array $data, array $symbolInfos, callable $toSymbolSt): WsDataPos|null | 96 | public static function TransferBitgetPos(array $data, array $symbolInfos, callable $toSymbolSt): WsDataPos|null |
| 96 | { | 97 | { |
| 97 | - $symbol = call_user_func($toSymbolSt, $data['symbol']); | 98 | + $symbol = call_user_func($toSymbolSt, $data['instId']); |
| 98 | /** @var SymbolInfo $symbolInfo */ | 99 | /** @var SymbolInfo $symbolInfo */ |
| 99 | $symbolInfo = $symbolInfos[$symbol] ?? null; | 100 | $symbolInfo = $symbolInfos[$symbol] ?? null; |
| 100 | if ($symbolInfo === null) { | 101 | if ($symbolInfo === null) { |
| 101 | return null; | 102 | return null; |
| 102 | } | 103 | } |
| 103 | - | ||
| 104 | - return new WsDataPos( | ||
| 105 | - $symbol, | ||
| 106 | - 'BOTH', | ||
| 107 | - (float)$data['total'], | ||
| 108 | - (float)$data['total'], | ||
| 109 | - (float)$data['averageOpenPrice'], | ||
| 110 | - false, | ||
| 111 | - (float)$data['unrealizedPL'] | ||
| 112 | - ); | 104 | + $posSide = strtoupper($data['holdSide']); |
| 105 | + $qty = (float)$data['available']; | ||
| 106 | + $lot = $qty; | ||
| 107 | + $avgPrice = (float)$data['openPriceAvg']; | ||
| 108 | + $pnl = (float)$data['unrealizedPL']; | ||
| 109 | + return new WsDataPos($symbol, $posSide, $qty, $lot, $avgPrice, false, $pnl); | ||
| 113 | } | 110 | } |
| 114 | } | 111 | } |
-
请 注册 或 登录 后发表评论