Skip to content

Commit 3e1f006

Browse files
committed
CTRL+E
1 parent 6718a21 commit 3e1f006

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

tests/conftest.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,32 @@
22

33
from __future__ import annotations
44

5+
import ctypes
56
import logging
7+
import time
68
from typing import Generator
79

810
import pytest
911

12+
from mqpy.trade import Trade
13+
14+
VK_CONTROL = 0x11
15+
VK_E = 0x45
16+
17+
18+
def send_ctrl_e():
19+
"""Send CTRL+E to MetaTrader 5 to enable Expert Advisors."""
20+
user32 = ctypes.windll.user32
21+
# Press CTRL
22+
user32.keybd_event(VK_CONTROL, 0, 0, 0)
23+
# Press E
24+
user32.keybd_event(VK_E, 0, 0, 0)
25+
# Release E
26+
user32.keybd_event(VK_E, 0, 2, 0)
27+
# Release CTRL
28+
user32.keybd_event(VK_CONTROL, 0, 2, 0)
29+
time.sleep(1)
30+
1031

1132
@pytest.fixture
1233
def test_symbols() -> dict[str, str]:
@@ -32,3 +53,16 @@ def configure_logging() -> Generator[None, None, None]:
3253

3354
for handler in root.handlers[:]:
3455
root.removeHandler(handler)
56+
57+
58+
@pytest.fixture
59+
def enable_autotrade(trade: Trade) -> Trade:
60+
"""Enables autotrade for testing purposes."""
61+
send_ctrl_e()
62+
63+
trade.start_time_hour = "0"
64+
trade.start_time_minutes = "00"
65+
trade.finishing_time_hour = "23"
66+
trade.finishing_time_minutes = "59"
67+
68+
return trade

0 commit comments

Comments
 (0)