Asynchronous MetaTrader5 library and Bot Builder
Project description
aiomql
Installation
pip install aiomql
Key Features
- Asynchronous Python Library For MetaTrader 5
- Build bots for trading in different financial markets using a bot factory
- Use threadpool or proccesspool executors to run multiple strategies on multiple instruments concurrently
- Record and keep track of trades and strategies in csv files.
- Utility classes for using the MetaTrader 5 Library
- Sample Pre-Built strategies
Simple Usage as an Async MetaTrader5 Libray
import asyncio
# import the class
from aiomql import MetaTrader
from aiomql import Account, Terminal
from aiomql import TimeFrame, OrderType
async def main():
# Initialize Terminal
terminal = Terminal()
mt5 = MetaTrader()
await mt5.initialize()
# create Account
account = Account(account_number=30371334, password="nwa0#anaEze", server="Deriv-Demo")
# login with account
await account.login()
# connection status with the account.connected property
res = "Login Successful" if account.connected else "Unable to login into account"
print(res)
# set account properties
account.risk = 0.10 # percentage of account equity to risk i.e 10%
account.risk_to_reward = 3
# get symbols available for the account if login was successful
if account.connected:
symbols = await mt5.symbols_get()
print(symbols)
# print timeframe constant for five minutes
print(TimeFrame.M5)
await terminal.shutdown()
asyncio.run(main())
As a Bot Building FrameWork using a Prebuilt Strategy
import logging
from aiomql import Bot
from aiomql.lib import ForexMarket, FingerTrap
fmt = "%(asctime)s : %(message)s"
logging.basicConfig(filename='example.log', format=fmt, level=logging.DEBUG)
market = ForexMarket()
bot = Bot(market=market)
# Finger strategy on all instruments in the forex markets
bot.add_strategy_all(strategy=FingerTrap)
bot.execute()
# This assumes that a mt5.json config file with account_number, password and server keys is available
see docs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aiomql-1.tar.gz
(37.7 kB
view details)
Built Distribution
aiomql-1-py3-none-any.whl
(44.4 kB
view details)
File details
Details for the file aiomql-1.tar.gz
.
File metadata
- Download URL: aiomql-1.tar.gz
- Upload date:
- Size: 37.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb9a52a620c6c497a810edf453b1f752199043373b4a409838ffb34876a529a5 |
|
MD5 | a6506c10b583097070c5345d3bc8b05f |
|
BLAKE2b-256 | ee9f6d2ca71c79431a5fa7fde9f41adc39da459370c3b5b0d89f9ba5c18c935b |
File details
Details for the file aiomql-1-py3-none-any.whl
.
File metadata
- Download URL: aiomql-1-py3-none-any.whl
- Upload date:
- Size: 44.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fabd67e1ffa3112c406531b7d8639ee9378e859d3b676dc5967bb6c56e44bb5 |
|
MD5 | 9f94d1fb2de45346b2a37a5eac3a4332 |
|
BLAKE2b-256 | e20b135e4bcba02cc89961dabf4f930895e68a18329979b5125e693ba0758317 |