mirror of
https://github.com/Ichinga-Samuel/aiomql.git
synced 2026-07-28 04:37:43 +00:00
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
import asyncio
|
|
import logging
|
|
from datetime import datetime, UTC
|
|
|
|
from aiomql.lib.backtester import BackTester
|
|
from aiomql.core import Config
|
|
from aiomql.contrib.strategies import Chaos
|
|
from aiomql.contrib.symbols import ForexSymbol
|
|
from aiomql.core.backtesting import BackTestEngine
|
|
|
|
|
|
async def back_tester():
|
|
config = Config()
|
|
config.mode = "backtest"
|
|
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s")
|
|
syms = ["Volatility 75 Index", "Volatility 100 Index", "Volatility 25 Index", "Volatility 10 Index"]
|
|
symbols = [ForexSymbol(name=sym) for sym in syms]
|
|
strategies = [Chaos(symbol=symbol) for symbol in symbols]
|
|
start = datetime(2024, 5, 1, tzinfo=UTC)
|
|
stop_time = datetime(2024, 5, 2, tzinfo=UTC)
|
|
end = datetime(2024, 5, 7, tzinfo=UTC)
|
|
back_test_engine = BackTestEngine(
|
|
start=start,
|
|
end=end,
|
|
speed=3600,
|
|
stop_time=stop_time,
|
|
close_open_positions_on_exit=True,
|
|
assign_to_config=True,
|
|
preload=True,
|
|
account_info={"balance": 350},
|
|
)
|
|
backtester = BackTester(backtest_engine=back_test_engine)
|
|
backtester.add_strategies(strategies=strategies)
|
|
await backtester.start()
|
|
|
|
|
|
asyncio.run(back_tester())
|