5.9 KiB
5.9 KiB
In [1]:
import sys, os; sys.path.append(os.path.abspath('..')) # Path fix
# Prereqs: `pip install -r requirements.txt` (locally)
import os
from pathlib import Path
import pandas as pd
from dotenv import load_dotenv
from adapters import broker
# Load settings from env
load_dotenv()
SYMBOL = os.getenv("TRAINING_SYMBOL", "EURUSD")
TIMEFRAME = os.getenv("TIMEFRAME", "M15")
START = os.getenv("DATA_START", "2023-01-01")
END = os.getenv("DATA_END", "2025-01-01")
print("Connecting to MT5...")
ok = broker.open_session(
login=int(os.getenv("MT5_LOGIN", "0")) or None,
password=os.getenv("MT5_PASSWORD"),
server=os.getenv("MT5_SERVER")
)
print("MT5 connected:", ok)Connecting to MT5... MT5 connected: True
In [2]:
# Fetch OHLC and save
DATA_DIR = Path("data"); DATA_DIR.mkdir(exist_ok=True)
df = broker.fetch_ohlc(SYMBOL, TIMEFRAME, START, END)
out_csv = DATA_DIR / f"ohlc_{SYMBOL}_{TIMEFRAME}.csv"
df.to_csv(out_csv)
print("Saved:", out_csv.resolve())
df.tail()Out [2]:
Saved: G:\My Drive\Bots DRL\DRL\DRL-MT5-Lab\notebooks\data\ohlc_EURUSD_M15.csv
| open | high | low | close | volume | |
|---|---|---|---|---|---|
| time | |||||
| 2024-12-31 20:45:00+00:00 | 1.03568 | 1.03568 | 1.03528 | 1.03531 | 529 |
| 2024-12-31 21:00:00+00:00 | 1.03528 | 1.03625 | 1.03518 | 1.03619 | 425 |
| 2024-12-31 21:15:00+00:00 | 1.03618 | 1.03647 | 1.03575 | 1.03590 | 465 |
| 2024-12-31 21:30:00+00:00 | 1.03590 | 1.03590 | 1.03543 | 1.03560 | 545 |
| 2024-12-31 21:45:00+00:00 | 1.03560 | 1.03571 | 1.03539 | 1.03542 | 306 |
In [ ]:
# Clean shutdown
broker.close_session()