|
|
|
@ -67,14 +67,67 @@ class Events |
|
|
|
}, [$coin1, $class]); |
|
|
|
|
|
|
|
$periods = ['1min', '5min', '15min', '30min', '60min', '1day', '1week', '1mon']; |
|
|
|
// $periodMap = [ |
|
|
|
// '1min' => ['start' => [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,18,20,21,22,23,24,25,26,27,28.29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59], 'end' => [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,18,20,21,22,23,24,25,26,27,28.29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59]], |
|
|
|
// '5min' => ['start' => [0,5,10,15,20,25,30,35,40,45,50,55], 'end' => [4,9,14,19,24,29,34,39,44,49,54,59]], |
|
|
|
// '15min' => ['start' => [0,15,30,45], 'end' => [14,29,44,59]], |
|
|
|
// '30min' => ['start' => [0,30], 'end' => [29,59]], |
|
|
|
// '60min' => ['start' => [0], 'end' => [59]], |
|
|
|
// '1day' => ['start' => [0], 'end' => [59]], |
|
|
|
// '1week' => ['start' => [0], 'end' => [59]], |
|
|
|
// '1mon' => ['start' => [0], 'end' => [59]] |
|
|
|
// ]; |
|
|
|
Timer::add($seconds, function ($periods, $coin1, $class) { |
|
|
|
$periodMap = [ |
|
|
|
'1min' => ['start' => [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,18,20,21,22,23,24,25,26,27,28.29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59], 'end' => [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,18,20,21,22,23,24,25,26,27,28.29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59]], |
|
|
|
'5min' => ['start' => [0,5,10,15,20,25,30,35,40,45,50,55], 'end' => [4,9,14,19,24,29,34,39,44,49,54,59]], |
|
|
|
'15min' => ['start' => [0,15,30,45], 'end' => [14,29,44,59]], |
|
|
|
'30min' => ['start' => [0,30], 'end' => [29,59]], |
|
|
|
'60min' => ['start' => [0], 'end' => [59]], |
|
|
|
'1day' => ['start' => [0], 'end' => [59]], |
|
|
|
'1week' => ['start' => [0], 'end' => [59]], |
|
|
|
'1mon' => ['start' => [0], 'end' => [59]] |
|
|
|
]; |
|
|
|
$symbol = $coin1; |
|
|
|
foreach ($periods as $period) { |
|
|
|
$data = Events::getCoinKline($symbol, $period, $class); |
|
|
|
$data_old = $data = Events::getCoinKline($symbol, $period, $class); |
|
|
|
$now_price = Cache::store('redis')->get('swap:' . $symbol . '_detail'); |
|
|
|
$now_per = Cache::store('redis')->get('swap:' . $symbol . '_kline_' . $period); |
|
|
|
|
|
|
|
// if($period != '1min'){ |
|
|
|
// $data['high'] = $data['open'] ; |
|
|
|
// $data['low'] = $data['open'] ; |
|
|
|
// } |
|
|
|
if (in_array(date('i', time()), $periodMap[$period]['start']) && date('s', time()) < 3) { |
|
|
|
// $data['high'] = $data['open']; |
|
|
|
// $data['low'] = $data['open']; |
|
|
|
}elseif (in_array(date('i', time()), $periodMap[$period]['end']) && date('s', time()) > 58){ |
|
|
|
$data = $data_old; |
|
|
|
}else{ |
|
|
|
// $data['high'] = $data['open']; |
|
|
|
// $data['low'] = $data['open']; |
|
|
|
} |
|
|
|
if (date('s', time()) >= 3 && date('s', time()) <= 58) { |
|
|
|
|
|
|
|
if ($now_price['price'] > $now_per['high']) { |
|
|
|
$data['high'] = $now_price['price']; |
|
|
|
} else { |
|
|
|
$data['high'] = $now_per['high']; |
|
|
|
} |
|
|
|
if ($now_price['price'] < $now_per['low']) { |
|
|
|
$data['low'] = $now_price['price']; |
|
|
|
} else { |
|
|
|
$data['low'] = $now_per['low']; |
|
|
|
} |
|
|
|
} |
|
|
|
if ($period == "1day") { |
|
|
|
$data['high'] = $data['open']; |
|
|
|
$data['low'] = $data['open']; |
|
|
|
} |
|
|
|
// if ($period != "1min") { |
|
|
|
// $data['high'] = $data['open']; |
|
|
|
// $data['low'] = $data['open']; |
|
|
|
// } |
|
|
|
Cache::store('redis')->put('swap:' . $symbol . '_kline_' . $period, $data); |
|
|
|
|
|
|
|
$group_id = 'swapKline_' . $symbol . '_' . $period; |
|
|
|
|