| import pandas as pd
|
| import numpy as np
|
| import sys
|
| import os
|
|
|
|
|
| sys.path.append(os.getcwd())
|
|
|
| from src.core.market_profile import MarketProfile
|
|
|
| def test_market_profile():
|
| print("Testing MarketProfile...")
|
| mp = MarketProfile(multiplier=2.0)
|
|
|
|
|
|
|
| dates = pd.date_range(start='2024-01-01 10:00', periods=100, freq='1min')
|
| bids = np.linspace(100, 110, 50)
|
| bids = np.concatenate((bids, np.linspace(110, 100, 50)))
|
|
|
| df = pd.DataFrame({
|
| 'datetime': dates,
|
| 'bid': bids,
|
| 'ask': bids + 0.1
|
| })
|
|
|
|
|
| mp.update(df)
|
|
|
|
|
| print(f"Total ticks: {mp.total_ticks}")
|
| print(f"Counts keys: {len(mp.counts)}")
|
|
|
|
|
| vah, val, poc = mp.get_vah_val_poc()
|
| print(f"VAH: {vah}, VAL: {val}, POC: {poc}")
|
|
|
| if vah is None or val is None or poc is None:
|
| print("FAIL: Levels are None")
|
| else:
|
| print("PASS: Levels calculated")
|
|
|
| if __name__ == "__main__":
|
| test_market_profile()
|
|
|