|
|
@ -19,11 +19,12 @@ async fn fetch_candles_until_now( |
|
|
|
mut start_time: NaiveDateTime, |
|
|
|
mut start_time: NaiveDateTime, |
|
|
|
) -> AppResult<Vec<PoloniuxCandle>> { |
|
|
|
) -> AppResult<Vec<PoloniuxCandle>> { |
|
|
|
let mut result = vec![]; |
|
|
|
let mut result = vec![]; |
|
|
|
|
|
|
|
let limit = 500; |
|
|
|
|
|
|
|
|
|
|
|
loop { |
|
|
|
loop { |
|
|
|
println!("pulling candles from {start_time}"); |
|
|
|
println!("pulling candles from {start_time}"); |
|
|
|
let candles = poloniex_client |
|
|
|
let candles = poloniex_client |
|
|
|
.get_historical_candles(pair, interval, start_time, Utc::now().naive_utc()) |
|
|
|
.get_historical_candles(pair, interval, start_time, Utc::now().naive_utc(), limit) |
|
|
|
.await?; |
|
|
|
.await?; |
|
|
|
|
|
|
|
|
|
|
|
let Some(last_candle) = candles.last() else { |
|
|
|
let Some(last_candle) = candles.last() else { |
|
|
@ -46,7 +47,13 @@ async fn fetch_candles_until_now( |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let candles_count = candles.len(); |
|
|
|
|
|
|
|
|
|
|
|
result.extend(candles); |
|
|
|
result.extend(candles); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if candles_count < limit { |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Ok(result) |
|
|
|
Ok(result) |
|
|
|