| self = <test_channel_scalp_short_bp.TestShortBuyingPower object at 0x120824650>
|
|
|
| def test_dtbp_below_regular_uses_dtbp(self):
|
| """Common margin case: DTBP < regular BP → use DTBP."""
|
| > from rtrader.services.channel_scalp_service import _short_buying_power
|
|
|
| tests/services/test_channel_scalp_short_bp.py:49:
|
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
| rtrader/services/channel_scalp_service.py:3205: 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:3175: AttributeError
|