Как определить самый больший процент разници в if?

Как определить самый больший процент у $symbol?

Мой код:

if($macd > 0.0001){

print $symbol.'<br>';
print 'MACD ' .$macd.'<br>';

$percent = $result[$symbol];
$price_spot = $price[$symbol];//spot
$price_future = $temp[$symbol];//futures

print 'PRICE FUTURE ' .$price_future.'<br>';
print 'PRICE SPOT ' .$price_spot.'<br>';
print 'PERCENT ' .$percent.'<br>';
print '<br><br>';

//Не могу решить проблему определения пары 

$symbol = array_search(max($result), $result);
   }


Благодарю!
  • Вопрос задан
  • 318 просмотров
Решения вопроса 1
@rPman
В чем совет то тебе дать?

Почему не работает код? так скажи что в нем не так.

Про получение данных, если тебе нужны ОПЕРАТИВНЫЕ данные, забудь про http rest, используй websocket, binance выдает в поток в 4 тысячи событий по всем парам, подписывайся на них и анализируй, это ты сможешь сделать в одном подключении. Если же все же http rest то внимательно прочитай про лимиты на запросы, они указываются в минуту и на практике еще меньше
IP Limits

Every request will contain X-MBX-USED-WEIGHT-(intervalNum)(intervalLetter) in the response headers which has the current used weight for the IP for all request rate limiters defined.
Each route has a weight which determines for the number of requests each endpoint counts for. Heavier endpoints and endpoints that do operations on multiple symbols will have a heavier weight.
When a 429 is received, it's your obligation as an API to back off and not spam the API.
Repeatedly violating rate limits and/or failing to back off after receiving 429s will result in an automated IP ban (HTTP status 418).
IP bans are tracked and scale in duration for repeat offenders, from 2 minutes to 3 days.
The limits on the API are based on the IPs, not the API keys.

p.s. Исторические данные по фьючерсам недоступны (только в пределах текущего квартала)
я пользовался, минуток тут более чем достаточно:
https://dapi.binance.com/dapi/v1/continuousKlines?pair={$pair}&contractType={$type}&limit=1500&interval=1m&startTime={$startTime}&endTime={$endTime}"

Где startTime и endTime нужно устанавливать на основе предыдущих полученных и сохраненных данных
https://dapi.binance.com/dapi/v1/exchangeInfo
Даст всю информацию о рынке (без стакана), там же видно где какой тип контракта PERPETUAL/CURRENT_QUARTER/NEXT_QUARTER какое наименование инструмента, типа LTCUSD_230630 или ETHUSD_230331 (там же есть все данные по времени начала и окончания периода), PERP фьючерсы повторяют spot рынок, поэтому для удобства можно эти данные брать

Если тебе нужен совет по выбору стратегии - собирай исторические данные, проводи на их основе анализ или тестирование (напиши подобие симулятора биржи на которой будешь тестировать свою стратегию).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@9StarRu Автор вопроса
Решил вопрос записью в массив
$result[] = $symbol;
$symbol = array_search(max($result), $result);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы