| self = <test_wyckoff_stop_and_profit_lock.TestWyckoffTighterHardStop object at 0x1203a2a50>
|
|
|
| def test_wyckoff_stops_at_minus_1_5pct_fixed_no_atr(self):
|
| > job, check = _job_and_checker(source="wyckoff_spring", entry_price=10.0)
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
| tests/services/test_wyckoff_stop_and_profit_lock.py:34:
|
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
| tests/services/test_wyckoff_stop_and_profit_lock.py:19: in _job_and_checker
|
| from rtrader.services.channel_scalp_service import (
|
| rtrader/services/channel_scalp_service.py:3253: in <module>
|
| _ensure_ray_task()
|
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
|
| def _ensure_ray_task():
|
| global _ray_evaluate_symbol
|
| if _ray_evaluate_symbol is not None:
|
| return
|
| import ray
|
|
|
| > @ray.remote(num_cpus=1, max_retries=2, retry_exceptions=True)
|
| ^^^^^^^^^^
|
| E AttributeError: module 'ray' has no attribute 'remote'
|
|
|
| rtrader/services/channel_scalp_service.py:3223: AttributeError
|