2025-06-20
MetaTrader (MT4/MT5) бол дэлхий даяар хамгийн өргөн хэрэглэгддэг арилжааны платформ бөгөөд автоматжуулсан арилжаа (automated trading) хийх боломжийг олгодог. Харин Python нь дата боловсруулалт, стратеги загварчлал, хиймэл оюун, алгоритм хөгжүүлэлт зэрэг хүчирхэг боломжуудтай орчин үеийн програмчлалын хэл юм.
Сүүлийн жилүүдэд MetaTrader нь Python API-г дэмжих болсон нь арилжаачдад MT-ийн захиалгын системийг Python-оор шууд хянах боломжийг нээсэн. Энэ нь зөвхөн стратеги боловсруулах бус — реал арилжаа гүйцэтгэх, өгөгдөл татах, backtest хийх, position хянах зэрэг бүх процессыг автоматжуулж чаддаг.
Энэхүү нийтлэлд бид дараах агуулгуудыг хамарна:
MetaTrader нь уламжлалт MQL4/MQL5 хэлээр автомат арилжаа бичдэг ч Python API нэмэгдсэнээр дараах давуу талууд үүсдэг:
MetaTrader 5 (MT5) нь Python API-г албан ёсоор дэмждэг. MT4 нь шууд Python дэмжихгүй тул ихэвчлэн MT5 дээр ажиллана.
pip install MetaTrader5
MetaTrader5 сан нь MetaQuotes компанийн гаргасан албан ёсны Python wrapper юм.
Дараа нь терминал нээж, дараах кодоор MetaTrader-тай холбогдоно:
import MetaTrader5 as mt5
# Terminal эхлүүлэлт
if not mt5.initialize():
print("MT5 Initialization failed:", mt5.last_error())
else:
print("MT5 connected")
Хэрэв холбоо амжилттай бол серверийн нэр, account info зэргийг авах боломжтой болно.
from datetime import datetime
rates = mt5.copy_rates_from("EURUSD", mt5.TIMEFRAME_H1, datetime(2024, 1, 1), 1000)
copy_rates_from нь цаг хугацааны дагуу ханшийн өгөгдлийг татаж авна. Мөн copy_ticks_from
ашиглан real-time tick дата ч авч болно.
account_info = mt5.account_info()
print(account_info.balance, account_info.equity)
order = {
"action": mt5.TRADE_ACTION_DEAL,
"symbol": "EURUSD",
"volume": 0.1,
"type": mt5.ORDER_TYPE_BUY,
"price": mt5.symbol_info_tick("EURUSD").ask,
"deviation": 10,
"magic": 10001,
"comment": "Python order",
"type_time": mt5.ORDER_TIME_GTC,
"type_filling": mt5.ORDER_FILLING_IOC,
}
result = mt5.order_send(order)
print("Order Result:", result)
Захиалгын төрөл, үнийн түвшин, хэмжээ зэргийг кодоор дамжуулан удирдаж болдог.
positions = mt5.positions_get(symbol="EURUSD")
for pos in positions:
print(f"Position: {pos.volume} lots @ {pos.price_open}")
Жишээ нь: moving average crossover стратеги
import pandas as pd
# Ханшийн өгөгдлийг pandas датафрэймд хөрвүүлэх
data = pd.DataFrame(rates)
data['ma_fast'] = data['close'].rolling(10).mean()
data['ma_slow'] = data['close'].rolling(50).mean()
# Сигнал үүсгэх
if data['ma_fast'].iloc[-1] > data['ma_slow'].iloc[-1] and not current_position:
# Buy order execute
mt5.order_send({...})
Энэ зарчмыг backtest-д ч, real-time monitoring-д ч ашиглах боломжтой.
Python скриптийг schedule
, time.sleep()
ашиглан минут тутам, цаг тутамд дахин ажиллуулж болно.
import time
while True:
# өгөгдөл шалгах
# сигнал тооцох
# захиалга гүйцэтгэх
time.sleep(60) # 1 минут тутамд ажиллана
MT5 терминал гэнэт унтарвал Python скрипт тасалддаг. Үүнийг шалгах функц оруулах шаардлагатай.
Order send функц real execution цагтай зөрж болох тул захиалга баталгаажуулах шалгалт хийх хэрэгтэй.
Нэг арилжаа нээгдсэн эсэхийг шалгахгүйгээр дахин орж болзошгүй. Position-д суурилсан log бичих шаардлагатай.
MetaTrader-ийн Python API нь орчин үеийн дата шинжилгээ, автомат арилжаа, стратеги туршилт, машин сургалтын интеграцид хамгийн тохиромжтой сонголт болж байна. Ялангуяа Форекс арилжаачид MT5 платформ дээр дараах алхмаар automation хийж чадна:
Python API ашиглан та зөвхөн стратеги боловсруулж, туршиж зогсохгүй — шууд зах зээлтэй холбогдож, бодит арилжаанд амжилттай оролцох боломжтой.
2025-06-19
Statistical Arbitrage стратегийн бүрдэл ба хэрэгжилт
Statistical Arbitrage стратеги нь математик, дата шинжилгээ, эрсдэлийн менежмент....
2025-06-18
Backtesting & Walk-forward validation хэрхэн хийх вэ?
Форекс арилжаанд ашиг орлого тогтвортой байлгах, эрсдэлийг хянахын тулд стратеги турших....
2025-06-17
Машин сургалт ашиглан валютын ханшийг таамаглах нь
Форекс зах зээл нь өндөр хэлбэлзэлтэй, олон хүчин зүйлээс хамаардаг нарийн төвөгтэй орчин юм. ....
2025-06-16
Python дээр квант трейдинг стратеги боловсруулах алхамууд
Python програмчлалын хэл нь квант арилжааны стратеги боловсруулахад маш хүчирхэг....
2025-06-13
Sharpe ratio болон Sortino ratio-г ойлгох нь
Sharpe болон Sortino харьцаанууд нь форекс арилжаанд гүйцэтгэлийг шинжлэх, стратеги үнэлэх....