Skip to content

Commit

Permalink
php
Browse files Browse the repository at this point in the history
  • Loading branch information
php committed Nov 7, 2024
1 parent 55fdc9f commit 6e9e0d8
Show file tree
Hide file tree
Showing 2 changed files with 248 additions and 1 deletion.
41 changes: 41 additions & 0 deletions okex-php-sdk-api-v5/rapiDemo.php
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,7 @@
/**
* 策略交易 Trade
*/
$obj = new TradeAPI(Config::$config);
// 策略委托下单 Place Algo Order
//$res = $obj -> orderAlgo('BTC-USDT-SWAP','cross','','buy','long','trigger','1','','20','21','','','-1','','','-1','','','','','','','','','','','mark');
// 撤销策略委托订单 Cancel Algo Order
Expand Down Expand Up @@ -377,6 +378,46 @@
// $res = $obj -> ridQuantity();


/**
* 信号交易
*/
$obj = new TradingbotApi(Config::$config);
// 创建信号
// $res = $obj -> createSignal();
// 查询所有信号
// $res = $obj -> getSignals();
// 创建信号策略
// $res = $obj -> signalOrderAlgo();
// 停止信号策略
// $res = $obj -> signalStopOrderAlgo();
// 调整保证金
// $res = $obj -> signalMarginBalance();
// 修改止盈止损
// $res = $obj -> amendTPSL();
// 设置币对
// $res = $obj -> setInstruments();
// 获取信号策略详情
// $res = $obj -> signalOrdersAlgoDetails();
// 获取活跃信号策略
// $res = $obj -> signalOrdersAlgoPending();
// 获取历史信号策略
// $res = $obj -> signalOrdersAlgoHistory();
// 获取信号策略持仓
// $res = $obj -> signalPositions();
// 查看历史持仓信息
// $res = $obj -> signalPositionsHistory();
// 市价仓位全平
// $res = $obj -> signalClosePositions();
// 下单
// $res = $obj -> signalSubOrder();
// 撤单
// $res = $obj -> signalCancelSubOrder();
// 获取信号策略子订单信息
// $res = $obj -> getSignalSubOrders();
// 获取信号策略历史事件
// $res = $obj -> eventHistory();


/**
* 跟单 copytrading
*/
Expand Down
208 changes: 207 additions & 1 deletion okex-php-sdk-api-v5/src/TradingbotApi.php
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,213 @@ public function ridQuantity($instId,$runType,$algoOrdType,$maxPx,$minPx,$lever='
return $this->request('/api/v5/tradingBot/grid/grid-quantity', $params, 'GET');
}


public function createSignal($signalChanName,$signalChanDesc='')
{
$params = [
'signalChanName' => $signalChanName,
'signalChanDesc' => $signalChanDesc,
];

return $this->request('/api/v5/tradingBot/signal/create-signal', $params, 'POST');
}

public function getSignals($signalSourceType,$signalChanId='',$after='',$before='',$limit='')
{
$params = [
'signalSourceType' => $signalSourceType,
'signalChanId' => $signalChanId,
'after' => $after,
'before' => $before,
'limit' => $limit,
];

return $this->request('/api/v5/tradingBot/signal/signals', $params, 'GET');
}

public function signalOrderAlgo($signalChanId,$includeAll='',$instIds='',$lever,$investAmt,$subOrdType,$ratio='',$entrySettingParam='',$exitSettingParam='')
{
$params = [
'signalChanId' => $signalChanId,
'includeAll' => $includeAll,
'instIds' => $instIds,
'lever' => $lever,
'investAmt' => $investAmt,
'subOrdType' => $subOrdType,
'ratio' => $ratio,
'entrySettingParam' => $entrySettingParam,
'exitSettingParam' => $exitSettingParam,
];

return $this->request('/api/v5/tradingBot/signal/order-algo', $params, 'POST');
}

public function signalStopOrderAlgo($algoId)
{
$params = [
'algoId' => $algoId,
];

return $this->request('/api/v5/tradingBot/signal/stop-order-algo', $params, 'POST');
}

public function signalMarginBalance($algoId,$type,$amt,$allowReinvest='')
{
$params = [
'algoId' => $algoId,
'type' => $type,
'amt' => $amt,
'allowReinvest' => $allowReinvest,
];

return $this->request('/api/v5/tradingBot/signal/margin-balance', $params, 'POST');
}

public function amendTPSL($algoId,$exitSettingParam)
{
$params = [
'algoId' => $algoId,
'exitSettingParam' => $exitSettingParam,
];

return $this->request('/api/v5/tradingBot/signal/amendTPSL', $params, 'POST');
}

public function setInstruments($algoId,$instIds,$includeAll)
{
$params = [
'algoId' => $algoId,
'instIds' => $instIds,
'includeAll' => $includeAll,
];

return $this->request('/api/v5/tradingBot/signal/set-instruments', $params, 'POST');
}

public function signalOrdersAlgoDetails($algoOrdType,$algoId)
{
$params = [
'algoOrdType' => $algoOrdType,
'algoId' => $algoId,
];

return $this->request('/api/v5/tradingBot/signal/orders-algo-details', $params, 'GET');
}

public function signalOrdersAlgoPending($algoOrdType,$algoId='',$after='',$before='',$limit='')
{
$params = [
'algoOrdType' => $algoOrdType,
'algoId' => $algoId,
'after' => $after,
'before' => $before,
'limit' => $limit,
];

return $this->request('/api/v5/tradingBot/signal/orders-algo-pending', $params, 'GET');
}

public function signalOrdersAlgoHistory($algoOrdType,$algoId='',$after='',$before='',$limit='')
{
$params = [
'algoOrdType' => $algoOrdType,
'algoId' => $algoId,
'after' => $after,
'before' => $before,
'limit' => $limit,
];

return $this->request('/api/v5/tradingBot/signal/orders-algo-history', $params, 'GET');
}

public function signalPositions($algoOrdType,$algoId)
{
$params = [
'algoOrdType' => $algoOrdType,
'algoId' => $algoId,
];

return $this->request('/api/v5/tradingBot/signal/positions', $params, 'GET');
}

public function signalPositionsHistory($algoId,$instId='',$after='',$before='',$limit='')
{
$params = [
'algoId' => $algoId,
'instId' => $instId,
'after' => $after,
'before' => $before,
'limit' => $limit,
];

return $this->request('/api/v5/tradingBot/signal/positions-history', $params, 'GET');
}

public function signalClosePositions($algoId,$instId)
{
$params = [
'algoId' => $algoId,
'instId' => $instId,
];

return $this->request('/api/v5/tradingBot/signal/close-position', $params, 'POST');
}

public function signalSubOrder($instId,$algoId,$side,$ordType,$sz,$px='',$reduceOnly='')
{
$params = [
'instId' => $instId,
'algoId' => $algoId,
'side' => $side,
'ordType' => $ordType,
'sz' => $sz,
'px' => $px,
'reduceOnly' => $reduceOnly,
];

return $this->request('/api/v5/tradingBot/signal/sub-order', $params, 'POST');
}

public function signalCancelSubOrder($algoId,$instId,$signalOrdId)
{
$params = [
'algoId' => $algoId,
'instId' => $instId,
'signalOrdId' => $signalOrdId,
];

return $this->request('/api/v5/tradingBot/signal/cancel-sub-order', $params, 'POST');
}

public function getSignalSubOrders($algoId,$algoOrdType,$state='',$signalOrdId='',$after='',$before='',$begin='',$end='',$limit='',$type='',$clOrdId='')
{
$params = [
'algoId' => $algoId,
'algoOrdType' => $algoOrdType,
'state' => $state,
'signalOrdId' => $signalOrdId,
'after' => $after,
'before' => $before,
'begin' => $begin,
'end' => $end,
'limit' => $limit,
'type' => $type,
'clOrdId' => $clOrdId,
];

return $this->request('/api/v5/tradingBot/signal/sub-orders', $params, 'GET');
}

public function eventHistory($algoId,$after='',$before='',$limit='')
{
$params = [
'algoId' => $algoId,
'after' => $after,
'before' => $before,
'limit' => $limit,
];

return $this->request('/api/v5/tradingBot/signal/event-history', $params, 'GET');
}


}

0 comments on commit 6e9e0d8

Please sign in to comment.