1. Задача номер 1. Найти и выбрать агрегатор криптовалют, который будет лучше других отвечать на ключевые требования: наличие наибольшего количества крипто монет, оперативное появление самых новых монет, возможность подключиться по api, недорогой (лучше бесплатный) тариф на использование api. Из возможных кандидатов: https://www.coingecko.com, https://coinmarketcap.com, https://cryptoslate.com, https://tokeninsight.com, https://coincheckup.com, https://cryptorank.io, https://coinpaprika.com, https://coincodex.com, https://dropstab.com, https://www.coincarp.com, https://crypto-markets.ru, https://messari.io, https://www.cryptocompare.com, https://cointool.app, https://www.coinglass.com, https://www.livecoinwatch.com, https://coin360.com . Либо вариант, который предложите вы. Если найдёте лучше, доплатим премиальные. Перед началом работы программирования оповестить о выбранном варианте и объяснить, почему берём именно его. 2. Задача номер 2. Программируем скрипт, анализирующий все монеты, которые есть на выбранном агрегаторе. Список должен быть более 10.000 монет. Также программируем его на автоматическое добавление новых монет, которые только появились в обновлённых списках. Мы должны быть в курсе всех монет: и давно вышедших, и которые только сегодня впервые появились на рынке. 2.1. Программируем наш скрипт делать аналитику по всем монетам в два круга: 1 раз в день и 1 раз в неделю. На закрытиях дневной и недельной свечах соответственно (анализируем по двум разным графикам: таймфрейм 1 День и таймфрейм 1 Неделя). Закрытие дневной свечи: 03:00 ночи по мск каждого дня, закрытие недельной свечи в 03:00 ночи по мск каждый понедельник. Добавим перед началом аналитики скриптом небольшую задержку от +1 до +15 минут, чтобы данные могли корректно отобразиться на нашем сервисе. Необходимо проверить, за какое время данные по закрытым свечам ТФ 1 День и ТФ 1 неделя появляются на выбранном агрегаторе. И оповестить, какой размер задержки будем использовать. Время на полную аналитику за каждый круг по всем монетам не должно превышать 6 часов. Диапазон большой, разумеется, чем быстрее данные будут поступать к нам, тем лучше. В идеале, в течение 15-30 минут. 3. Скрипт должен анализировать два параметра: Дивергенции по индикатору RSI и паттерн свечное Поглощение. 3.1. Дивергенции по индикатору RSI. Используем стандартный RSI (индекс относительной силы), стандартные значения RSI 14 close, замер по 14 крайним свечам. 3.1.2. Метод определения Дивергенции по RSI. Делаем первый фильтр выбранных нами монет. За крайние 0-500 свечей индикатор RSI должен был выходить хотя бы 1 раз за внешние пределы 69/31 (иметь значение либо > 69, либо <31). Рассматриваем с каждой из сторон (один >69, один <31) только самый ближайший к сегодняшнему дню случай, подходящий под это правило. 3.1.3. Сразу после выхода за пределы 69/31 по RSI, начинаем наблюдение за двумя показателями. Первый: максимум или минимум каждой следующей свечи (начиная со свечи, вышедшей за пределы диапазоны 69/31), включая тени свечей (в случае >69 рассматриваем значение максимумов следующих свечей, в случае <31 рассматриваем значение минимумов новых свечей). А также второй: значения по индикатору RSI тех же наблюдаемых свечей. 3.1.4. Когда новая свеча (соседняя или на расстоянии) тенью своего максимума или минимума (в случае >69 тень максимума свечи, в случае <31 тень минимума свечи) обновляет ещё дальше по направлению тренда предыдущий максимум или минимум (соседняя свеча или на расстоянии), тогда мы сравниваем между ними значения по индикатору RSI 14 close. 3.1.5. Если, при сравнении двух свечей (первая, которая вышла за диапазон 69/31 и вторая, которая в следующий раз обновила максимум/минимум), RSI показывает на второй свече динамику изменения значения в ту же сторону (в случае >69 увеличивается или <31 и уменьшается), тогда расхождений по дивергенции не произошло, тренд двинулся дальше, и мы продолжаем анализировать следующие свечи. В этом случае, вторая свеча, которая поставила новый максимум/минимум, становится свечой (первой свечой), с которой будем делать следующее сравнение при новом обновлении максимума/минимума. 3.1.6. Когда новая свеча (соседняя или на расстоянии) тенью своего максимума или минимума (в случае >69 тень максимума свечи, в случае <31 тень минимума свечи) обновляет ещё дальше по направлению тренда предыдущий максимум или минимум, при этом RSI показывает обратную динамику (уменьшается при обновлении максимума или увеличивается при обновлении минимума), дивергенция считается сформированной и это фиксирует выполнение первого из двух признаков соответствия. Все активы с этим выполненным пунктом должны добавляться в «новую базу 1» для аналитики момента появления совпадения по 2 признаку. 3.2. Совпадение по второму признаку. Паттерн свечное Поглощение. Проверка на совпадение по второму признаку повторяется на каждом следующем закрытии свечи (ТФ 1 День или ТФ 1 неделя) до тех пор, пока не получим подтверждение. 3.2.1. Сравниваются две свечи: первая = та, которая поставила крайний максимум/минимум своей тенью. Вторая = последующие свечи по очереди. Совпадением по второму признаку считается свеча (или комбинация свечей), которые поглотили первую своим телом (после закрытия свечи на своём ТФ: 1 День или 1 Неделя). Поглощение считается телом новой свечи и тела, и тени предыдущей свечи, которая ранее поставила своей тенью максимум/минимум. После срабатывания второго признака и отправки уведомления в Телеграм канал, дальнейшую проверку этого актива из «новой базы 1» можно удалять. По ним дальше ищем снова только первый признак с Дивергенциями. 4. Подходящие по двум признакам: дивергенция и поглощение на любом их двух ТФ (1 День или 1 Неделя) дальше отправляются (как можно раньше, сразу после получения подтверждения соответствий) в отдельный Телеграм канал: https://t.me/+1aXmj2bRT8A3NDIy 4.1. Вид уведомления в этом канале: Название актива Направление входа: LONG или SHORT (при ситуации <31 = LONG, при ситуации >69 = SHORT). Таймфрейм (1 День или 1 Неделя). Значение цены и RSI первой сравниваемой свечи, которая образовала дивергенцию + дата этой свечи. Значение цены и RSI второй сравниваемой свечи, которая образовала дивергенцию + дата этой свечи. Ценовой максимум/минимум первой сравниваемой свечи, которую поглотили следующими свечами + её коэффициент объёмов (текущий на этой свече, разделённый на средний по 20 крайним свечам. Называется Volume Average) + дата этой свечи. Ценовой максимум/минимум второй сравниваемой свечи, которая сделала финальное поглощение + её коэффициент объёмов (текущий на этой свече, разделённый на средний по 20 крайним свечам. Называется Volume Average) + дата этой свечи. Пример: BTC LONG ТФ 1 Неделя. DIV 1: 16000 и RSI = 27 (22.05.2023). DIV 2: 15800 и RSI = 32 (22.07.2023). POG 1: 16150 и AVOL = 1,1 (22.07.2023). POG 2: 16200 и AVOL = 5,7 (29.07.2023). 5. Сначала настроим скрипт так, чтобы он показал все подходящие под наши условия активы за крайние 300 свечей, на истории. Далее я проанализирую их. Для того, чтобы Телеграм пропустил все, группируйте сразу несколько уведомлений в одно сообщение и сделайте между ними небольшое временное расстояние. 5.1. После нашей проверки, финальной задачей будет настроить наш скрипт, чтобы он искал совпадения, описанные выше, которые показали второе подтверждение Поглощением не позднее 3 крайних свечей. То есть, самые свежие случаи. Также на ТФ 1 День и ТФ 1 Неделя. 6. В течение работы могут появляться дополнительные подзадачи, как минимум, на этапе Пункта 5, во время проверки отработки на истории. При их появлении будем немного добавлять доплату.