Арилжаа

Зах зээл

Платформ

Хамтрах

Урамшуулал

Танд

MetaTrader дээр Python API ашиглан автомат арилжаа хийх

2025-06-20

MetaTrader (MT4/MT5) бол дэлхий даяар хамгийн өргөн хэрэглэгддэг арилжааны платформ бөгөөд автоматжуулсан арилжаа (automated trading) хийх боломжийг олгодог. Харин Python нь дата боловсруулалт, стратеги загварчлал, хиймэл оюун, алгоритм хөгжүүлэлт зэрэг хүчирхэг боломжуудтай орчин үеийн програмчлалын хэл юм.

MetaTrader дээр Python API ашиглан автомат арилжаа хийх

Сүүлийн жилүүдэд MetaTrader нь Python API-г дэмжих болсон нь арилжаачдад MT-ийн захиалгын системийг Python-оор шууд хянах боломжийг нээсэн. Энэ нь зөвхөн стратеги боловсруулах бус — реал арилжаа гүйцэтгэх, өгөгдөл татах, backtest хийх, position хянах зэрэг бүх процессыг автоматжуулж чаддаг.

Энэхүү нийтлэлд бид дараах агуулгуудыг хамарна:

  1. MetaTrader ба Python-ийн холболтын суурь ойлголт
  2. MetaTrader 5 (MT5) дээр Python API суулгах
  3. Өгөгдөл татах, позици шалгах, захиалга өгөх жишээ код
  4. Стратеги автоматжуулах логик
  5. Давуу тал, болзошгүй эрсдэл, сэргийлэх арга

1. MetaTrader ба Python API-н үндэс

MetaTrader нь уламжлалт MQL4/MQL5 хэлээр автомат арилжаа бичдэг ч Python API нэмэгдсэнээр дараах давуу талууд үүсдэг:

  • Python дээр хөгжүүлсэн стратегийг шууд гүйцэтгэх
  • Өгөгдөлд дата шинжилгээ (NumPy, Pandas, Scikit-learn ашиглан)
  • Хиймэл оюуны (ML/AI) алгоритм холбох
  • Автомат backtest хийх
  • Real-time position management

MetaTrader 5 (MT5) нь Python API-г албан ёсоор дэмждэг. MT4 нь шууд Python дэмжихгүй тул ихэвчлэн MT5 дээр ажиллана.

2. MT5 дээр Python API-г суулгах алхам

2.1 Шаардагдах зүйлс:

  • MetaTrader 5 terminal (build ≥ 2085)
  • Python 3.7–3.10 (анхдагч virtual environment)
  • MetaTrader5 Python package

2.2 Суулгах алхамууд:

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 зэргийг авах боломжтой болно.

3. Үндсэн функцуудын жишээ (код)

3.1 Өгөгдөл татах

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 дата ч авч болно.

3.2 Account мэдээлэл

account_info = mt5.account_info()
print(account_info.balance, account_info.equity)

3.3 Захиалга өгөх

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)

Захиалгын төрөл, үнийн түвшин, хэмжээ зэргийг кодоор дамжуулан удирдаж болдог.

3.4 Позици шалгах

positions = mt5.positions_get(symbol="EURUSD")
for pos in positions:
print(f"Position: {pos.volume} lots @ {pos.price_open}")

4. Стратеги автоматжуулах логик

4.1 Шалгуур тогтоох (entry/exit logic)

Жишээ нь: 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-д ч ашиглах боломжтой.

4.2 Цагийн давтамж

Python скриптийг schedule, time.sleep() ашиглан минут тутам, цаг тутамд дахин ажиллуулж болно.

import time

while True:
# өгөгдөл шалгах
# сигнал тооцох
# захиалга гүйцэтгэх
time.sleep(60) # 1 минут тутамд ажиллана

5. Давуу талууд

  • Уян хатан байдал: Python дээр дурын стратеги боловсруулж, кодлогдсон логик дээр үндэслэн захиалгаа автоматжуулж чадна.
  • Дата боловсруулалт: Pandas, NumPy, Plotly гэх мэт дата анализын санг ашиглан өөрийн стратегийн үр дүнг гүнзгий задлан шинжилж болно.
  • Machine Learning Integration: Scikit-learn, TensorFlow ашиглан урьдчилсан прогноз хийж, сигналыг ML-р сайжруулж чадна.
  • Backtest & Walk-forward: Python дээр backtest хийж, стратеги баталгаажуулалтын ахисан түвшний арга хэрэглэх боломжтой.

6. Болзошгүй эрсдэл ба хяналт

6.1 Холболт тасрах

MT5 терминал гэнэт унтарвал Python скрипт тасалддаг. Үүнийг шалгах функц оруулах шаардлагатай.

6.2 Slippage, execution delay

Order send функц real execution цагтай зөрж болох тул захиалга баталгаажуулах шалгалт хийх хэрэгтэй.

6.3 Order management

Нэг арилжаа нээгдсэн эсэхийг шалгахгүйгээр дахин орж болзошгүй. Position-д суурилсан log бичих шаардлагатай.

7. Дүгнэлт

MetaTrader-ийн Python API нь орчин үеийн дата шинжилгээ, автомат арилжаа, стратеги туршилт, машин сургалтын интеграцид хамгийн тохиромжтой сонголт болж байна. Ялангуяа Форекс арилжаачид MT5 платформ дээр дараах алхмаар automation хийж чадна:

  • Ханшийн дата татах
  • Захиалга үүсгэх, удирдах
  • Сигналын логик зохиох
  • Гүйцэтгэлийн хяналт тавих
  • Бодит цагийн арилжааг автоматжуулах

Python API ашиглан та зөвхөн стратеги боловсруулж, туршиж зогсохгүй — шууд зах зээлтэй холбогдож, бодит арилжаанд амжилттай оролцох боломжтой.

Ижил төстэй блог