Files
Trading-Bot/tests/risk/stops/test_fixed_stop.py

52 lines
1.1 KiB
Python

# tests/risk/stops/test_fixed_stop.py
import sys
from pathlib import Path
import pandas as pd
import pytest
# Añadir raíz del proyecto al path
sys.path.insert(0, str(Path(__file__).parent.parent.parent.parent))
from src.risk.stops.fixed_stop import FixedStop
from src.backtest.trade import TradeType
def dummy_data():
return pd.DataFrame(
{"close": [100, 101, 102]},
index=pd.date_range("2024-01-01", periods=3, freq="D")
)
def test_fixed_stop_long():
stop = FixedStop(0.02)
price = stop.get_stop_price(
data=dummy_data(),
idx=1,
entry_price=100,
trade_type=TradeType.LONG
)
assert price == 98
def test_fixed_stop_short():
stop = FixedStop(0.02)
price = stop.get_stop_price(
data=dummy_data(),
idx=1,
entry_price=100,
trade_type=TradeType.SHORT
)
assert price == 102
def test_fixed_stop_invalid_fraction():
with pytest.raises(ValueError):
FixedStop(0)
with pytest.raises(ValueError):
FixedStop(1)
with pytest.raises(ValueError):
FixedStop(-0.1)