private fun getTokenList() {
launchIo {
delay(500)
val result =
retrofit.exchangeInfo().await()
if (result.isSuccessful) {
listToken =
result.body()?.symbols?.map {
SymbolMapper.map(it) } as ArrayList<Symbol>
Log.e(TAG, "Получаем список токенов: $listToken")
researchTokens(listToken)
}
}
}
//перебираем tokens
private fun researchTokens(list: ArrayList<Symbol>) {
val tokenList = list.filter { it.status != "BREAK" && it.quoteAsset == "USD" }
launchIo {
for (token in tokenList) {
Log.e(TAG, "Перебираем позиции: $token")
getTrendStock(token)
}
}
}
//проверяем тренд инструмента
private fun getTrendStock(token: Symbol) {
launchIo {
delay(500)
val resultKlines = retrofit.klines(interval, token.symbol, startTime).await()
if (resultKlines.isSuccessful) {
if (resultKlines.body()?.isNotEmpty()!!) {
if (resultKlines.body()?.get(0)?.isNotEmpty()!!) {
val trend = Trading().getTrendStock(resultKlines.body()?.get(0)!!)
volumeStock = Trading().getVolumeStock1h(resultKlines.body()?.get(0)!!)
val volatility =
Trading().getVolatilityStock1h(resultKlines.body()?.get(0)!!)
//передаём данные в книгу заказов
Log.e(
TAG,
"Проверяем тренд: ${
trend.name}, объем1ч: $volumeStock, волатильность1ч: $volatility "
)
getPriceFromOrderBook(token, trend, volumeStock, volatility)
}
}
}
}
}