Rumah >pembangunan bahagian belakang >Tutorial Python >Kod ini ialah contoh Penasihat Pakar (EA) automatik untuk MetaTrader 5.
Sudah tentu! Kami akan menerangkan kod secara terperinci, memfokuskan pada setiap bahagian dan fungsi untuk memastikan anda memahami cara ia berfungsi.
import MetaTrader5 as mt5 import time from datetime import datetime import signal import sys
running = True def signal_handler(sig, frame): global running print("\nInterrompendo o programa...") running = False signal.signal(signal.SIGINT, signal_handler)
login = 101108 password = "Jesuse10!" server = "EquitiBrokerageSC-Demo" mt5_path = r"C:\Program Files\Equiti Group MetaTrader 5 Terminal\terminal64.exe"
Pembolehubah ini mengandungi bukti kelayakan dan laluan MetaTrader 5 digunakan untuk menyambungkan skrip ke akaun MetaTrader anda:
def get_symbol_info(symbol): info = mt5.symbol_info(symbol) if info is None: print(f"Falha ao obter informações do símbolo {symbol}") return None return info
Fungsi ini mencari maklumat tentang simbol (aset) yang ingin anda niagakan, seperti:
import MetaTrader5 as mt5 import time from datetime import datetime import signal import sys
running = True def signal_handler(sig, frame): global running print("\nInterrompendo o programa...") running = False signal.signal(signal.SIGINT, signal_handler)
Fungsi ini menghantar pesanan beli atau jual kepada MetaTrader. Dia menerima:
Fungsi ini mencipta permintaan (permintaan) dengan semua tetapan yang diperlukan untuk menghantar pesanan, dan kemudian memanggil mt5.order_send(request) untuk benar-benar menghantar pesanan ke platform MetaTrader 5.
login = 101108 password = "Jesuse10!" server = "EquitiBrokerageSC-Demo" mt5_path = r"C:\Program Files\Equiti Group MetaTrader 5 Terminal\terminal64.exe"
Fungsi ini mencari lilin terakhir bagi aset tertentu. Ia menggunakan jangka masa untuk menentukan selang masa antara setiap lilin (cth. 5 minit). Fungsi mengembalikan lilin terakhir (dengan data seperti pembukaan, penutupan, harga tinggi, rendah).
def get_symbol_info(symbol): info = mt5.symbol_info(symbol) if info is None: print(f"Falha ao obter informações do símbolo {symbol}") return None return info
Fungsi ini membatalkan semua pesanan belum selesai jenis BUY_STOP atau SELL_STOP untuk simbol yang ditentukan. Fungsi ini menyemak pesanan yang belum selesai dan, jika ya, menghantar permintaan untuk membatalkannya.
import MetaTrader5 as mt5 import time from datetime import datetime import signal import sys
running = True def signal_handler(sig, frame): global running print("\nInterrompendo o programa...") running = False signal.signal(signal.SIGINT, signal_handler)
Di sini, fungsi gelung_utama dipanggil. Jika ralat berlaku, ia ditangkap oleh pengecualian kecuali, dan sambungan ke MetaTrader ditamatkan dengan mt5.shutdown().
Kod ini ialah contoh Expert Advisor (EA) automatik untuk MetaTrader 5, yang melaksanakan operasi beli dan jual berdasarkan masa dan harga lilin. Program ini bersambung ke Meta
login = 101108 password = "Jesuse10!" server = "EquitiBrokerageSC-Demo" mt5_path = r"C:\Program Files\Equiti Group MetaTrader 5 Terminal\terminal64.exe"
Berikut ialah perubahan yang dibuat:
Atas ialah kandungan terperinci Kod ini ialah contoh Penasihat Pakar (EA) automatik untuk MetaTrader 5.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!