This commit is contained in:
Ichinga Samuel
2024-11-04 00:32:51 +01:00
parent 2c46e18528
commit d65a8db1a2
85 changed files with 5071 additions and 2512 deletions
+17 -9
View File
@@ -11,10 +11,10 @@ class TestTrader:
@classmethod
def setup_class(cls):
ram = RAM(fixed_amount=10)
cls.trader = SimpleTrader(symbol=ForexSymbol(name='BTCUSD'), ram=ram)
cls.simple_trader2 = SimpleTrader(symbol=ForexSymbol(name='EURJPY'), ram=ram)
cls.trader = SimpleTrader(symbol=ForexSymbol(name="BTCUSD"), ram=ram)
cls.simple_trader2 = SimpleTrader(symbol=ForexSymbol(name="EURJPY"), ram=ram)
@pytest.fixture(scope='class', autouse=True)
@pytest.fixture(scope="class", autouse=True)
async def initialize(self):
await self.trader.symbol.initialize()
await self.simple_trader2.symbol.initialize()
@@ -27,22 +27,26 @@ class TestTrader:
assert res.retcode == 10009
async def test_create_order_with_sl(self):
sl = (self.trader.symbol.trade_stops_level * 2 + self.trader.symbol.spread) * self.trader.symbol.point
sl = (
self.trader.symbol.trade_stops_level * 2 + self.trader.symbol.spread
) * self.trader.symbol.point
tick = await self.trader.symbol.info_tick()
sl = tick.bid + sl
await self.trader.create_order_with_sl(order_type=OrderType.SELL, sl=sl)
res = await self.trader.order.send()
profit = floor(await self.trader.order.calc_profit())
loss = -floor(abs(await self.trader.order.calc_loss()))
assert profit == -loss*self.trader.ram.risk_to_reward
assert profit == -loss * self.trader.ram.risk_to_reward
assert profit == self.trader.ram.fixed_amount * self.trader.ram.risk_to_reward
assert loss == -self.trader.ram.fixed_amount
assert res is not None
assert res.retcode == 10009
async def test_create_order_with_points(self):
points = (self.trader.symbol.trade_stops_level * 2 + self.trader.symbol.spread)
await self.trader.create_order_with_points(order_type=OrderType.BUY, points=points)
points = self.trader.symbol.trade_stops_level * 2 + self.trader.symbol.spread
await self.trader.create_order_with_points(
order_type=OrderType.BUY, points=points
)
res = await self.trader.order.send()
profit = floor(await self.trader.order.calc_profit())
loss = -floor(abs(await self.trader.order.calc_loss()))
@@ -53,12 +57,16 @@ class TestTrader:
assert res.retcode == 10009
async def test_create_order_with_stops(self):
sl = (self.trader.symbol.trade_stops_level * 2 + self.trader.symbol.spread) * self.trader.symbol.point
sl = (
self.trader.symbol.trade_stops_level * 2 + self.trader.symbol.spread
) * self.trader.symbol.point
tp = sl * self.trader.ram.risk_to_reward
tick = await self.trader.symbol.info_tick()
sl = tick.ask - sl
tp = tick.ask + tp
await self.trader.create_order_with_stops(order_type=OrderType.BUY, sl=sl, tp=tp)
await self.trader.create_order_with_stops(
order_type=OrderType.BUY, sl=sl, tp=tp
)
res = await self.trader.order.send()
profit = floor(await self.trader.order.calc_profit())
loss = -floor(abs(await self.trader.order.calc_loss()))