Maison >développement back-end >Tutoriel Python >Ce code est un exemple d'Expert Advisor (EA) automatisé pour MetaTrader 5.
Bien sûr ! Nous expliquerons le code en détail, en nous concentrant sur chaque partie et fonction pour nous assurer que vous comprenez comment tout cela fonctionne.
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"
Ces variables contiennent les informations d'identification et le chemin MetaTrader 5. Elles sont utilisées pour connecter le script à votre compte MetaTrader :
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
Cette fonction recherche des informations sur le symbole (actif) que vous souhaitez échanger, telles que :
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)
Cette fonction envoie l'ordre d'achat ou de vente à MetaTrader. Elle accepte :
La fonction crée une requête (request) avec tous les paramètres nécessaires pour envoyer la commande, puis appelle mt5.order_send(request) pour envoyer réellement la commande à la plateforme MetaTrader 5.
login = 101108 password = "Jesuse10!" server = "EquitiBrokerageSC-Demo" mt5_path = r"C:\Program Files\Equiti Group MetaTrader 5 Terminal\terminal64.exe"
Cette fonction recherche la dernière bougie d'un actif donné. Il utilise le délai pour déterminer l'intervalle de temps entre chaque bougie (par exemple 5 minutes). La fonction renvoie la dernière bougie (avec des données telles que l'ouverture, la clôture, le prix haut et bas).
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
Cette fonction annule toutes les commandes en attente de type BUY_STOP ou SELL_STOP pour le symbole spécifié. La fonction vérifie les commandes en attente et, si tel est le cas, envoie une demande pour les annuler.
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)
Ici, la fonction main_loop est appelée. Si une erreur se produit, elle est interceptée par l'exception except et la connexion à MetaTrader se termine avec mt5.shutdown().
Ce code est un exemple de Expert Advisor (EA) automatisé pour MetaTrader 5, qui effectue des opérations d'achat et de vente en fonction du temps et des prix des bougies. Le programme se connecte à Meta
login = 101108 password = "Jesuse10!" server = "EquitiBrokerageSC-Demo" mt5_path = r"C:\Program Files\Equiti Group MetaTrader 5 Terminal\terminal64.exe"
Voici les modifications apportées :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!