|
...
|
...
|
@@ -771,6 +771,52 @@ class CmBroker |
|
|
|
}
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取k线数据 根据开始结束时间
|
|
|
|
* @param string $symbol 交易对
|
|
|
|
* @param string $peroid 周期
|
|
|
|
* @param int $startTs 开始时间
|
|
|
|
* @param int $endTs 结束时间
|
|
|
|
* @return Kline[] 返回K线数组
|
|
|
|
*/
|
|
|
|
public function getKlinesBt($symbol, $peroid, $startTs, $endTs)
|
|
|
|
{
|
|
|
|
$symbolOri = $this->getSymbolOri($symbol);
|
|
|
|
$peroidOri = $this->getPeriodOri($this->plat, $peroid);
|
|
|
|
if ($this->plat == self::PLAT_OKX) {
|
|
|
|
$limit = 100;
|
|
|
|
$res = $this->exBroker->getKlines($symbolOri, $peroidOri, $limit);
|
|
|
|
if ($res['code'] != '0') {
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
$newKlines = [];
|
|
|
|
foreach ($res['data'] as $key => $value) {
|
|
|
|
$kline = Kline::transferOkx($value);
|
|
|
|
$newKlines[] = $kline;
|
|
|
|
}
|
|
|
|
//把 $newKlines 倒序
|
|
|
|
$newKlines = array_reverse($newKlines);
|
|
|
|
return $newKlines;
|
|
|
|
}
|
|
|
|
if ($this->plat == self::PLAT_BINANCE) {
|
|
|
|
// $res = $this->exBroker->getKlines($symbolOri, $peroidOri, $limit);
|
|
|
|
$res = $this->exBroker->getKlines($symbolOri, $peroidOri, 1500, $startTs, $endTs);
|
|
|
|
if (count($res) == 0) {
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
$newKlines = [];
|
|
|
|
foreach ($res as $key => $value) {
|
|
|
|
$kline = Kline::transferBinanceRest($value);
|
|
|
|
$newKlines[] = $kline;
|
|
|
|
}
|
|
|
|
//把 $newKlines 倒序
|
|
|
|
$newKlines = array_reverse($newKlines);
|
|
|
|
return $newKlines;
|
|
|
|
}
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
|
|
|
|
public function initPositions()
|
|
|
|
{
|
|
|
|
$this->positions = $this->getAllPos();
|
...
|
...
|
|