SniperGold_ML/ml/probe_byyear.py

27 lines
904 B
Python

# -*- coding: utf-8 -*-
"""Hitung jumlah bar per tahun utk M15, H1, D1 — temukan window padat."""
import os
import numpy as np
import datetime as dt
BASE = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)),
"..", "..", "..", "Files", "AlgoForge", "Data"))
def per_year(fname):
z = np.load(os.path.join(BASE, fname))
t = z["time"].astype(np.int64)
yrs = np.array([dt.datetime.utcfromtimestamp(int(x)).year for x in t])
out = []
for y in range(int(yrs.min()), int(yrs.max()) + 1):
out.append((y, int(np.sum(yrs == y))))
return out
for fname in ["XAUUSD_M15.npz", "XAUUSD_H1.npz", "XAUUSD_D1.npz"]:
print("=== " + fname + " ===")
rows = per_year(fname)
for y, c in rows:
bar = "#" * min(60, c // (max(1, max(r[1] for r in rows)) // 60))
print(f" {y}: {c:6d} {bar}")
print()