作者 karlet

feat:完善部分币安

@@ -7,14 +7,14 @@ require_once __DIR__ . '/../jytools/BinanceFutures.php'; @@ -7,14 +7,14 @@ require_once __DIR__ . '/../jytools/BinanceFutures.php';
7 use trader\struct\ApiInfo; 7 use trader\struct\ApiInfo;
8 use trader\CmBroker; 8 use trader\CmBroker;
9 9
10 -$key = "nQMzzJlhYBkguxwtx5o4MbuiGsDfBIsrOCOUSiqCwR3wmM9gSkQnY1wczW2sVuTP";  
11 -$secret = "GUES7aaM54voJHKrrbXueWXfrJFqmqroVXCF430dolQ5uPK3i7t3Zy4nUgo2W0ec"; 10 +$key = "gfqf3key8Ywq4NkdgXl9P7eZAfH2mxNLfLAiik9xjRQ64fWitkMeOrC0HNEk5VC3";
  11 +$secret = "W0WN7WeFINJpHi7BJam6xxeNquKkcrZCiPdrr4I6PZuYGiWXDomPbmgFmGINevSB";
12 $apiInfo = new ApiInfo($key, $secret, ""); 12 $apiInfo = new ApiInfo($key, $secret, "");
13 $broker = new CmBroker(CmBroker::PLAT_BINANCE, $apiInfo); 13 $broker = new CmBroker(CmBroker::PLAT_BINANCE, $apiInfo);
14 -$broker->setWsHost("ws://bnws.a.indigo888.com/futures");  
15 -$broker->setRestHost("http://bnfapi.a.indigo888.com"); 14 +$broker->setWsHost("ws://bnws.keetu.com");
  15 +$broker->setRestHost("http://bnapi.keetu.com");
16 $broker->accListen(function ($data) { 16 $broker->accListen(function ($data) {
17 - var_dump($data); 17 + // var_dump($data);
18 }); 18 });
19 19
20 20
@@ -89,9 +89,21 @@ class CmBroker @@ -89,9 +89,21 @@ class CmBroker
89 $this->exBroker->accListen(function ($data) use ($onData) { 89 $this->exBroker->accListen(function ($data) use ($onData) {
90 // output("ws 有效数据", $data); 90 // output("ws 有效数据", $data);
91 if ($this->plat == self::PLAT_BINANCE) { 91 if ($this->plat == self::PLAT_BINANCE) {
92 - $this->msg("binance 无处理ws数据实现"); 92 + $this->binanceAccDataHandle($data, $onData);
93 } 93 }
94 if ($this->plat == self::PLAT_OKX) { 94 if ($this->plat == self::PLAT_OKX) {
  95 + $this->okxAccDataHandle($data, $onData);
  96 + }
  97 + });
  98 + }
  99 + //处理币安相关账户数据监听
  100 + private function binanceAccDataHandle($data, $onData)
  101 + {
  102 + $this->msg("binance 推送", $data);
  103 + }
  104 + //处理欧意账户相关数据监听
  105 + private function okxAccDataHandle($data, $onData)
  106 + {
95 if (isset($data['arg']) && $data['arg']['channel'] == 'orders') { 107 if (isset($data['arg']) && $data['arg']['channel'] == 'orders') {
96 foreach ($data['data'] as $key => $value) { 108 foreach ($data['data'] as $key => $value) {
97 $wsDataTrade = WsDataTrade::TransferOkxOrder($value, $this->symbolInfos, function ($symbol) { 109 $wsDataTrade = WsDataTrade::TransferOkxOrder($value, $this->symbolInfos, function ($symbol) {
@@ -141,8 +153,6 @@ class CmBroker @@ -141,8 +153,6 @@ class CmBroker
141 } 153 }
142 $this->msg("okx 无处理ws数据实现", $data); 154 $this->msg("okx 无处理ws数据实现", $data);
143 } 155 }
144 - });  
145 - }  
146 public function klineListen($symbol, $peroid, $onData) 156 public function klineListen($symbol, $peroid, $onData)
147 { 157 {
148 $symbol = $this->getSymbolOri($symbol, $this->plat); 158 $symbol = $this->getSymbolOri($symbol, $this->plat);
@@ -37,20 +37,23 @@ class ExBroker @@ -37,20 +37,23 @@ class ExBroker
37 $this->api->setHost($host); 37 $this->api->setHost($host);
38 } 38 }
39 39
40 - public function accListen() 40 + public function accListen(callable $onData)
41 { 41 {
42 $listeneKey = $this->getListenKey(); 42 $listeneKey = $this->getListenKey();
43 - var_dump($this->host . $this->path);  
44 $this->wsAcc = new Websocket($this->host . $this->path); 43 $this->wsAcc = new Websocket($this->host . $this->path);
45 $this->wsAcc->connect( 44 $this->wsAcc->connect(
46 $onOpen = function () use ($listeneKey) { 45 $onOpen = function () use ($listeneKey) {
47 - $this->wsAcc->push(json_encode(['method' => 'SUBSCRIBE', 'params' => [$listeneKey], 'id' => 1])); 46 + $subData = json_encode(['method' => 'SUBSCRIBE', 'params' => [$listeneKey], 'id' => 1]);
  47 + $this->wsAcc->push($subData);
48 }, 48 },
49 - $onMessage = function ($msg) {  
50 - output($msg);  
51 - // $data = json_decode($msg, true); 49 + $onMessage = function ($data) use ($onData) {
  50 + $data = json_decode($data, true);
  51 + if (!$data) {
  52 + return;
  53 + }
  54 + $onData($data);
52 }, 55 },
53 - $onClose = null 56 + $onClose = null,
54 ); 57 );
55 } 58 }
56 59