aiviaio / bybit
Bybit API 类似官方文档接口,支持任意扩展。
v1.0.1
2023-04-06 16:26 UTC
Requires
- php: >=7.0
- guzzlehttp/guzzle: *
- workerman/globaldata: *
- workerman/workerman: *
This package is not auto-updated.
Last update: 2024-09-20 22:14:47 UTC
README
建议您首先阅读官方文档
Bybit 文档 https://bybit-exchange.github.io/docs/linear/
所有接口方法均初始化与 Bybit 提供的相同。详情请见 src/api
安装
composer require aiviaio/bybit
支持更多请求设置
$bybit=new BybitLinear(); //or new //$bybit=new BybitInverse(); //You can set special needs $bybit->setOptions([ //Set the request timeout to 60 seconds by default 'timeout'=>10, //If you are developing locally and need an agent, you can set this //'proxy'=>true, //More flexible Settings /* 'proxy'=>[ 'http' => 'http://127.0.0.1:12333', 'https' => 'http://127.0.0.1:12333', 'no' => ['.cn'] ], */ //Close the certificate //'verify'=>false, ]);
USDT 永续
市场数据 API 更多
$bybit=new BybitLinear(); try { $result=$bybit->publics()->getOrderBookL2([ 'symbol'=>'BTCUSDT' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->publics()->getKline([ 'symbol'=>'BTCUSDT', 'interval'=>'15', 'from'=>time()-3600, ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->publics()->getTickers(); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->publics()->getRecentTradingRecords([ 'symbol'=>'BTCUSDT', 'limit'=>'5', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->publics()->getSymbols(); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); }
放置活跃订单 API 更多
$bybit=new BybitLinear($key,$secret); try { $result=$bybit->privates()->postOrderCreate([ //'order_link_id'=>'xxxxxxxxxxxxxx', 'side'=>'Buy', 'symbol'=>'BTCUSDT', 'order_type'=>'Limit', 'qty'=>'1', 'price'=>'4000', 'time_in_force'=>'GoodTillCancel', 'reduce_only'=>'false', 'close_on_trigger'=>'false', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getOrderSearch([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postOrderReplace([ 'order_id'=>'xxxxxxxxxxxxx', 'symbol'=>'BTCUSDT', 'p_r_qty'=>'2', 'p_r_price'=>'4999' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postOrderCancel([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getOrderList([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); }
放置条件订单 API 更多
$bybit=new BybitLinear($key,$secret); try { $result=$bybit->privates()->postStopOrderCreate([ //'order_link_id'=>'xxxxxxxxxxxxxx', 'side'=>'Buy', 'symbol'=>'BTCUSDT', 'order_type'=>'Limit', 'qty'=>'1', 'price'=>'4000', 'time_in_force'=>'GoodTillCancel', 'reduce_only'=>'false', 'close_on_trigger'=>'false', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getStopOrderSearch([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postStopOrderReplace([ 'order_id'=>'xxxxxxxxxxxxx', 'symbol'=>'BTCUSDT', 'p_r_qty'=>'2', 'p_r_price'=>'4999' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postStopOrderCancel([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getStopOrderList([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); }
我的持仓 API 更多
$bybit=new BybitLinear($key,$secret); try { $result=$bybit->privates()->getPositionList([ 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postChangePositionMargin([ 'symbol'=>'BTCUSDT', 'margin'=>'1' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postPositionTradingStop([ 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getUserLeverage(); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postUserLeverageSave([ 'symbol'=>'BTCUSDT', 'leverage'=>'1' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getExecutionList([ 'symbol'=>'BTCUSDT', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); }
反向永续
市场数据 API 更多
$bybit=new BybitInverse(); try { $result=$bybit->publics()->getOrderBookL2([ 'symbol'=>'BTCUSD' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->publics()->getKlineList([ 'symbol'=>'BTCUSD', 'interval'=>'15', 'from'=>time()-3600, ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->publics()->getTickers(); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->publics()->getTradingRecords([ 'symbol'=>'BTCUSD', 'limit'=>'5', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->publics()->getSymbols(); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); }
放置活跃订单 API 更多
$bybit=new BybitInverse($key,$secret); try { $result=$bybit->privates()->postOrderCreate([ //'order_link_id'=>'xxxxxxxxxxxxxx', 'side'=>'Buy', 'symbol'=>'BTCUSD', 'order_type'=>'Limit', 'qty'=>'1', 'price'=>'4000', 'time_in_force'=>'GoodTillCancel', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getOrder([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postOrderReplace([ 'order_id'=>'xxxxxxxxxxxxx', 'symbol'=>'BTCUSD', 'p_r_qty'=>'2', 'p_r_price'=>'4999' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postOrderCancel([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getOrderList([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); }
放置条件订单 API 更多
$bybit=new BybitInverse($key,$secret); try { $result=$bybit->privates()->postStopOrderCreate([ //'order_link_id'=>'xxxxxxxxxxxxxx', 'side'=>'Buy', 'symbol'=>'BTCUSD', 'order_type'=>'Limit', 'qty'=>'1', 'price'=>'4000', 'time_in_force'=>'GoodTillCancel', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getStopOrder([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postStopOrderReplace([ 'order_id'=>'xxxxxxxxxxxxx', 'symbol'=>'BTCUSD', 'p_r_qty'=>'2', 'p_r_price'=>'4999' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postStopOrderCancel([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getStopOrderList([ 'order_id'=>'xxxxxxxxxxxxx', //'order_link_id'=>'xxxxxxxxxxxxxx', 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); }
我的持仓 API 更多
$bybit=new BybitInverse($key,$secret); try { $result=$bybit->privates()->getPositionList([ 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postChangePositionMargin([ 'symbol'=>'BTCUSD', 'margin'=>'1' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postPositionTradingStop([ 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getUserLeverage(); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->postUserLeverageSave([ 'symbol'=>'BTCUSD', 'leverage'=>'1' ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); } try { $result=$bybit->privates()->getExecutionList([ 'symbol'=>'BTCUSD', ]); print_r($result); }catch (\Exception $e){ print_r($e->getMessage()); }