Продолжение поста «Скайнет вычисляет ближайшую точку дна биткоина, в реальном времени»
Вычисляем точное время дна биткоина — манул после кошки, номер 88, на основе коллективного разума массового подсознания которое изначально между собой всегда не согласованно.
21 июня 2025 года 17:20, по Хабаровскому времени (соответствует 21 июня 10:20 по Московскому времени)
Все подробности и формулы программы в серии постов «создание SKYNET»
Программа без второй корректировки в коде.
Берем с графика программы дату 88 манула и две точки времени по 3-м таймфреймам чтобы вычислить разницу и прибавить дату 88 манула — что бы получить уточнение от второй корректировки
Код второй корректировки, на phyton, отдельно от программы:
from datetime import datetime, timedelta
def average_datetime(dt1, dt2):
delta = dt2 — dt1
return dt1 + delta / 2
def compute_group_average(dates):
if len(dates) < 2:
return None
# Шаг 1: Средние между всеми парами исходных дат
pairwise_averages = []
for i in range(len(dates)):
for j in range(i + 1, len(dates)):
avg = average_datetime(dates[i], dates[j])
pairwise_averages.append(avg)
# Шаг 2: Средние между полученными средними
second_level_averages = []
for i in range(len(pairwise_averages)):
for j in range(i + 1, len(pairwise_averages)):
avg = average_datetime(pairwise_averages[i], pairwise_averages[j])
second_level_averages.append(avg)
# Шаг 3: Финальное среднее
if not second_level_averages:
return None
total = timedelta()
for dt in second_level_averages:
total += dt — second_level_averages[0]
final_avg = second_level_averages[0] + total / len(second_level_averages)
return final_avg
def input_datetime():
«»»Функция для ввода даты с клавиатуры»»»
print(«nВведите ТРЕТЬЮ дату (базу для изменений):»)
year = int(input(«Год (например 2025): «))
month = int(input(«Месяц (1-12): «))
day = int(input(«День (1-31): «))
hour = int(input(«Час (0-23): «))
minute = int(input(«Минуты (0-59): «))
return datetime(year, month, day, hour, minute)
def main():
print(«=== ОБРАБОТКА ДВУХ ГРУПП ТАЙМФРЕЙМОВ ===»)
# Две группы дат (по 3 таймфрейма в каждой)
group1 = [
datetime(2025, 6, 10, 2, 0), # Левый случай (4 часа)
datetime(2025, 6, 10, 6, 0), # Левый случай (1 час)
datetime(2025, 6, 10, 6, 30) # Левый случай (30 минут)
]
group2 = [
datetime(2025, 6, 10, 14, 0), # Правый случай (4 часа)
datetime(2025, 6, 10, 11, 0), # Правый случай (1 час)
datetime(2025, 6, 10, 11, 0) # Правый случай (30 минут)
]
# Вычисляем средние для каждой группы
dt1 = compute_group_average(group1) # Первая дата (результат 1 группы)
dt2 = compute_group_average(group2) # Вторая дата (результат 2 группы)
print(«nРезультаты усреднения групп:»)
print(f»Первая дата (группа 1): {dt1.strftime(‘%d.%m.%Y %H:%M’)}»)
print(f»Вторая дата (группа 2): {dt2.strftime(‘%d.%m.%Y %H:%M’)}»)
# Ввод третьей даты и операции
base_dt = input_datetime()
operation = input(«nВыберите операцию (+ прибавить, — отнять): «)
while operation not in [‘+’, ‘-‘]:
operation = input(«Некорректный ввод. Введите + или -: «)
# Вычисляем разницу
diff = dt2 — dt1
diff_minutes = int(diff.total_seconds() / 60)
print(f»nРазница между периодами: {diff_minutes} минут»)
# Таймфреймы и соответствующие дельты (используются для финального усреднения, но не выводятся)
timeframes = {
‘4H’: timedelta(hours=4),
‘1H’: timedelta(hours=1),
’30M’: timedelta(minutes=30)
}
# Собираем результаты для усреднения (без вывода)
result_dates = []
for delta in timeframes.values():
if operation == ‘+’:
new_diff = diff + delta
else:
new_diff = diff — delta
result = base_dt + new_diff
result_dates.append(result)
# Усреднение результатов
final_result = compute_group_average(result_dates)
print(«nФИНАЛЬНЫЙ РЕЗУЛЬТАТ:»)
print(f»Финальная средняя дата: {final_result.strftime(‘%d число %H:%M’)}»)
if __name__ == «__main__»:
main()
Типичная реакция на точное время биткоина — Бифу нужен социальный рейтинг скайнета, на самом деле.