forked from chiki2bum2/SniperGold_ML
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()
|