27 lines
904 B
Python
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()
|