Merci Diamond. Il n'y a pas d'erreurs. Les chemins sont épelés correctement. J'ai supprimé le chemin exact dans mt5.initialize (), redémarré le terminal et la figure a commencé à s'afficher.
Vous devez utiliser une chaîne de caractères brute ou échapper à tous les antislashs.
Vous avez une limite sur le nombre de barres dans les graphiques, vous devez supprimer cette limite dans le Terminal (Outils->Options->Max barres dans le graphique). Dans les futures versions du terminal, nous renverrons une erreur (None) lorsque nous essaierons de répondre à une telle demande.
Merci pour le conseil.
MT5 fournit maintenant toutes les données correctement.
Les retours ne sont pas "NON" s'il n'y a pas de commandes.
import MetaTrader5 as mt5
if not mt5.initialize():
print( "initialize() failed, error code =" , mt5.last_error())
quit()
orders = mt5.orders_get(symbol= "GBPUSD" )
if orders is None:
print( "No orders on GBPUSD, error code={}" .format(mt5.last_error()))
elif len(orders) > 0 :
print( "Total orders on GBPUSD:" , len(orders))
for order in orders:
print(order)
mt5.shutdown()
Les retours ne sont pas "NON" s'il n'y a pas de commandes.
Tout est correct, un ensemble vide est retourné - signe d'absence d'ordres, ce n'est pas une erreur, la demande a fonctionné avec succès, None est retourné en cas d'erreur explicite. Mais le fait qu'il renvoie également un ensemble vide sur les symboles qui ne sont pas sur le serveur du courtier, c'est une erreur, corrigée, elle sera disponible avec la prochaine mise à jour du terminal.
Almaz : C'est correct, l'ensemble vide est retourné - signe d'absence de commandes, ce n'est pas une erreur, la demande a été traitée avec succès, None est retourné en cas d'erreur explicite. Mais il renvoie également un ensemble vide sur les symboles qui ne sont pas sur le serveur du courtier, c'est une erreur, corrigée, elle sera disponible avec la prochaine mise à jour du terminal.
@Almaz Lors de la première exécution des fonctions copy_xxx_xxx, lorsque le terminal n'a pas démarré depuis un certain temps, les fonctions renvoient immédiatement le résultat disponible avec l'historique manquant, sans attendre la synchronisation du swap d'historique. Cela signifie que le premier appel de fonction renvoie le résultat avec l'historique manquant. Seuls les appels ultérieurs renverront le résultat correct, lorsque l'historique est échangé. Est-il possible de résoudre ce problème ? Et la fonction copy_xxx_xxx attend que l'historique soit échangé lors du premier appel.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Merci Diamond.
Il n'y a pas d'erreurs.
Les chemins sont épelés correctement.
J'ai supprimé le chemin exact dans mt5.initialize (), redémarré le terminal et la figure a commencé à s'afficher.
Vous devez utiliser une chaîne de caractères brute ou échapper à tous les antislashs.
Vous devez utiliser une chaîne de caractères brute ou échapper à tous les antislashs.
J'ai aussi pensé au blindage quand Almaz a écrit pour le chemin exact. Oui, ça a marché aussi. Merci
Vous avez une limite sur le nombre de barres dans les graphiques, vous devez supprimer cette limite dans le Terminal (Outils->Options->Max barres dans le graphique).
Dans les futures versions du terminal, nous renverrons une erreur (None) lorsque nous essaierons de répondre à une telle demande.
Merci pour le conseil.
MT5 fournit maintenant toutes les données correctement.
Python 3.8
Construire 2470
Paquet 5.0.33
Échec de la fonction Orders_get
Les retours ne sont pas "NON" s'il n'y a pas de commandes.
Python 3.8
Construire 2470
Paquet 5.0.33
Échec de la fonction Orders_get
Les retours ne sont pas "NON" s'il n'y a pas de commandes.
C'est correct, l'ensemble vide est retourné - signe d'absence de commandes, ce n'est pas une erreur, la demande a été traitée avec succès, None est retourné en cas d'erreur explicite. Mais il renvoie également un ensemble vide sur les symboles qui ne sont pas sur le serveur du courtier, c'est une erreur, corrigée, elle sera disponible avec la prochaine mise à jour du terminal.
OK, est-ce que j'ai bien compris ?
Il n'y a que deux types de réponses :
1. NON
2. Un tuple dont la longueur est supérieure à 0
Dans l'assemblée suivante> 2470
OK, est-ce que j'ai bien compris ?
Il n'y a que deux types de réponses :
1. NON
2. Un tuple dont la longueur est supérieure à 0
Dans la prochaine version> 2470
Non.
1. aucun si une erreur est soulevée
2. tuple avec une longueur >=0
Non.
1. aucun si une erreur est soulevée
2. tuple avec une longueur >=0
Ok, maintenant je comprends.
Thx
Notez que mt5.terminal_info() montre :
path='C:\Works\\\\\MT5 - terminals\\\\\N- Trader 5', data_path='C:\Works\\\\MT5 - terminals\N- Trader 5',commondata_path='C:\NUsers\\Nrip\N-AppData\N\N- Roaming\NQuotes\N- Terminal\N-Common'.
sont identiques. C'est censé être comme ça ?
Le code est ci-dessous :
@Almaz
Lors de la première exécution des fonctions copy_xxx_xxx, lorsque le terminal n'a pas démarré depuis un certain temps, les fonctions
renvoient immédiatement le résultat disponible avec l'historique manquant, sans attendre la synchronisation du swap d'historique.
Cela signifie que le premier appel de fonction renvoie le résultat avec l'historique manquant.
Seuls les appels ultérieurs renverront le résultat correct, lorsque l'historique est échangé.
Est-il possible de résoudre ce problème ? Et la fonction copy_xxx_xxx attend que l'historique soit échangé lors du premier appel.