1. Go to this page and download the library: Download linwj/bitmex library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
linwj / bitmex example snippets
$bitmex=new Bitmex();
//You can set special needs
$bitmex->setOptions([
//Set the request timeout to 60 seconds by default
'timeout'=>10,
//https://github.com/guzzle/guzzle
'proxy'=>[],
//https://www.php.net/manual/en/book.curl.php
'curl'=>[],
]);
//Get market data
//Book data may be key and secret
try {
$bitmex=new Bitmex();
$result=$bitmex->orderBook()->get([
'symbol'=>'ETHUSD',
'depth'=>20
]);
print_r($result);
}catch (\Exception $e){
print_r($e->getMessage());
}
use \Lin\Bitmex\BitmexWebSocket;
$bitmex->config([
//Do you want to enable local logging,default false
//'log'=>true,
//Or set the log name
'log'=>['filename'=>'bitmex'],
//Daemons address and port,default 0.0.0.0:2211
//'global'=>'127.0.0.1:2211',
//Channel subscription monitoring time,2 seconds
//'listen_time'=>2,
//Channel data update time,default 0.5 seconds
//'data_time'=>0.5,
//Heartbeat time,default 30 seconds
//'ping_time'=>30,
//Number of messages WS queue shuold hold, default 100
//'queue_count'=>100,
//baseurl host
//'baseurl'=>'ws://www.bitmex.com/realtime',//default
//'baseurl'=>'ws://testnet.bitmex.com/realtime',//test
]);
$bitmex->start();
$bitmex=new BitmexWebSocket();
$bitmex->config([
//Do you want to enable local logging,default false
//'log'=>true,
//Or set the log name
'log'=>['filename'=>'bitmex'],
//Daemons address and port,default 0.0.0.0:2216
//'global'=>'127.0.0.1:2216',
//Channel subscription monitoring time,2 seconds
//'listen_time'=>2,
//Channel data update time,default 0.5 seconds
//'data_time'=>0.5,
//Heartbeat time,default 30 seconds
//'ping_time'=>30,
//Number of messages WS queue shuold hold, default 100
//'queue_count'=>100,
//私有数据队列默认保存100条
//'queue_count'=>100,
//baseurl host
//'baseurl'=>'ws://www.bitmex.com/realtime',//default
//'baseurl'=>'ws://testnet.bitmex.com/realtime',//test
]);
//You can only subscribe to public channels
$bitmex->subscribe([
//public
'orderBook10:XBTUSD',
'quoteBin5m:XBTUSD',
]);
//You can also subscribe to both private and public channels.If keysecret() is set, all private channels will be subscribed by default
$bitmex->keysecret([
'key'=>'xxxxxxxxx',
'secret'=>'xxxxxxxxx',
]);
$bitmex->subscribe([
//public
'orderBook10:XBTUSD',
'quoteBin5m:XBTUSD',
//private
"affiliate",
"execution",
"order",
"margin",
"position",
"privateNotifications",
"transact",
"wallet"
]);
//Unsubscribe from public channels
$bitmex->unsubscribe([
//public
'orderBook10:XBTUSD',
'quoteBin5m:XBTUSD',
]);
//Unsubscribe from public and private channels.If keysecret() is set, private channels will be Unsubscribed by default
$bitmex->keysecret([
'key'=>'xxxxxxxxx',
'secret'=>'xxxxxxxxx',
]);
$bitmex->unsubscribe([
//public
'orderBook10:XBTUSD',
'quoteBin5m:XBTUSD',
//private
"affiliate",
"execution",
"order",
"margin",
"position",
"privateNotifications",
"transact",
"wallet"
]);
//The first way
$data=$bitmex->getSubscribe();
print_r(json_encode($data));
//The second way callback
$bitmex->getSubscribe(function($data){
print_r(json_encode($data));
});
//The third way is to guard the process
$bitmex->getSubscribe(function($data){
print_r(json_encode($data));
},true);
//The first way
$data=$bitmex->getSubscribe([
'orderBook10:XBTUSD',
'quoteBin5m:XBTUSD',
]);
print_r(json_encode($data));
//The second way callback
$bitmex->getSubscribe([
'orderBook10:XBTUSD',
'quoteBin5m:XBTUSD',
],function($data){
print_r(json_encode($data));
});
//The third way is to guard the process
$bitmex->getSubscribe([
'orderBook10:XBTUSD',
'quoteBin5m:XBTUSD',
],function($data){
print_r(json_encode($data));
},true);
//The first way
$bitmex->keysecret($key_secret);
$data=$bitmex->getSubscribe();//Return all data of private channel
print_r(json_encode($data));
//The second way callback
$bitmex->keysecret($key_secret);
$bitmex->getSubscribe([//Return data private and market
//public
'orderBook10:XBTUSD',
'quoteBin5m:XBTUSD',
//private
"affiliate",
"execution",
"order",
"margin",
"position",
"privateNotifications",
"transact",
"wallet"
],function($data){
print_r(json_encode($data));
});
//The third way is to guard the process
$bitmex->keysecret($key_secret);
$bitmex->getSubscribe([//Resident process to get data return frequency $bitmex->config['data_time']=0.5s
//public
'orderBook10:XBTUSD',
'quoteBin5m:XBTUSD',
//private
"affiliate",
"execution",
"order",
"margin",
"position",
"privateNotifications",
"transact",
"wallet"
],function($data){
print_r(json_encode($data));
},true);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.