diff --git a/okxtrading2.0.py b/okxtrading2.0.py index ef94b68..cc66471 100644 --- a/okxtrading2.0.py +++ b/okxtrading2.0.py @@ -74,6 +74,15 @@ def setup_logging(): logger = setup_logging() +def _handle_sigterm(runner): + def _h(_sig, _frm): + print("SIGTERM received, stopping strategies...") + try: + runner.stop_all_strategies() + finally: + sys.exit(0) + return _h + def main(): """Main function""" print("=" * 60) @@ -95,6 +104,14 @@ def main(): # Create strategy runner runner = MultiStrategyRunner() + if os.getenv("SERVICE_MODE") == "1": + print("Starting in SERVICE_MODE (no menu)…") + signal.signal(signal.SIGTERM, _handle_sigterm(runner)) + signal.signal(signal.SIGINT, _handle_sigterm(runner)) + runner.start_all_strategies() + while True: + time.sleep(5) + # Add debug mode switch debug_mode = False