Files
aiomql/sample_backtest.py
T
Ichinga Samuel 72e902c4c5 v4
2024-11-11 05:56:08 +01:00

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())