diff --git a/__pycache__/bitcoin_trading_simulation.cpython-312.pyc b/__pycache__/bitcoin_trading_simulation.cpython-312.pyc deleted file mode 100644 index 81dd655..0000000 Binary files a/__pycache__/bitcoin_trading_simulation.cpython-312.pyc and /dev/null differ diff --git a/__pycache__/test_bitcoin_trading.cpython-312.pyc b/__pycache__/test_bitcoin_trading.cpython-312.pyc deleted file mode 100644 index ecc297a..0000000 Binary files a/__pycache__/test_bitcoin_trading.cpython-312.pyc and /dev/null differ diff --git a/bitcoin_trading_simulation.py b/bitcoin_trading_simulation.py index 001e336..cb07d20 100644 --- a/bitcoin_trading_simulation.py +++ b/bitcoin_trading_simulation.py @@ -1,4 +1,6 @@ import argparse +import time +import sys import numpy as np import pandas as pd @@ -111,6 +113,21 @@ def simulate_trading(signals, initial_cash=10000, quiet=False): return portfolio +def countdown(quiet=False): + """ + Displays a countdown before the simulation starts. + """ + if quiet or not sys.stdout.isatty(): + return + + print(f"\n{Colors.BLUE}{Colors.BOLD}Simulation starting in...{Colors.ENDC}") + print("(", end="", flush=True) + for i in range(3, 0, -1): + print(f"{Colors.CYAN}{i}.. {Colors.ENDC}", end="", flush=True) + time.sleep(1) + print(f"{Colors.GREEN}{Colors.BOLD}GO!{Colors.ENDC})\n") + + if __name__ == "__main__": parser = argparse.ArgumentParser(description="Bitcoin Trading Simulation") parser.add_argument("--days", type=int, default=60, help="Number of days to simulate") @@ -134,6 +151,9 @@ def simulate_trading(signals, initial_cash=10000, quiet=False): # Generate trading signals signals = generate_trading_signals(signals) + # Display countdown + countdown(args.quiet) + # Simulate trading portfolio = simulate_trading(signals, initial_cash=args.initial_cash, quiet=args.quiet)