MetaTrader 5 Python User Group - Comment utiliser Python dans Metatrader - page 64
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Bonjour à tous,
J'espère que ça ne vous dérange pas qu'un Anglais soit là. Je cherche des conseils après avoir passé beaucoup de temps à chercher sur le web sans succès.
J'utilise la bibliothèque Python de MetaTrader5 après m'être inspiré des articles de Maxiums. J'ai remarqué un problème de gestion de la mémoire.
Lorsque je crée un Dataframe en utilisant la librairie mt5, le Dataframe résultant fonctionne comme prévu. Je l'ai fait dans une fonction qui collecte les ticks et effectue ensuite diverses analyses avant de sortir le df manipulé.
Cependant, si je réexécute la fonction qui crée le DataFrame, j'ai remarqué que la mémoire continue de s'accumuler depuis l'instance précédente.
J'obtiens le même problème en utilisant mt5.copy_ticks_range () et mt5.copy_rates_range (). Je dois réinitialiser le noyau pour effacer la mémoire.
J'obtiens le même problème même après avoir supprimé tout le code sauf la ligne créant le dataframe. Par exemple :
def vel (symbole, lookback, lookforward, start_date, end_date, quantile_size) :
ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date.month, start_date.day), datetime (end_date.year, end_date.month, end_date.day), mt5.COPY_TICKS_ALL), columns = [ 'time', 'bid', 'ask', 'last', 'volume', 'time_msc', 'flags', 'volume_real'])
Si je l'exécute plusieurs fois, l'utilisation de la mémoire augmente de 27MiB à chaque fois :
Line # Mem usage Increment Line Contents =========================================== ======= 126.3 MiB 126.3 MiB def vel (symbol, lookback, lookforward, start_date, end_date, quantile_size) : 153.3 MiB 26.9 MiB ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date .month, start_date.day), .
Ligne # Mem usage Increment Line Contents
Si vous voulez de l'aide pour le débogage, vous devrez passer un MVCE complet. Cet extrait n'est pas suffisant.
Bonjour à tous,
J'espère que vous ne voyez pas d'inconvénient à ce qu'un Anglais vienne ici. Je cherche des conseils après avoir passé beaucoup de temps à chercher sur le Web sans succès.
J'utilise la bibliothèque Python de MetaTrader5 après m'être inspiré des articles de Maxiums. J'ai remarqué un problème de gestion de la mémoire.
Lorsque je crée un Dataframe en utilisant la librairie mt5, le Dataframe résultant fonctionne comme prévu. Je l'ai fait dans une fonction qui collecte les ticks et effectue ensuite diverses analyses avant de sortir le df manipulé.
Cependant, si je réexécute la fonction qui crée le DataFrame, j'ai remarqué que la mémoire continue de s'accumuler depuis l'instance précédente.
J'obtiens le même problème en utilisant mt5.copy_ticks_range () et mt5.copy_rates_range (). Je dois réinitialiser le noyau pour effacer la mémoire.
J'obtiens le même problème même après avoir supprimé tout le code sauf la ligne créant le dataframe. Par exemple :
def vel (symbole, lookback, lookforward, start_date, end_date, quantile_size) :
ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date.month, start_date.day), datetime (end_date.year, end_date.month, end_date.day), mt5.COPY_TICKS_ALL), columns = [ 'time', 'bid', 'ask', 'last', 'volume', 'time_msc', 'flags', 'volume_real'])
Si je l'exécute plusieurs fois, l'utilisation de la mémoire augmente de 27 Mo à chaque fois :
Line # Mem usage Increment Line Contents ================================================== 126.3 MiB 126.3 MiB def vel (symbol, lookback, lookforward, start_date, end_date, quantile_size) : 153.3 MiB 26.9 MiB ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date.month, start_date.day), .
Ligne # Mem usage Increment Line Contents
Vous pouvez essayer d'utiliserhttps://docs.python.org/3/library/gc.html
https://stackabuse.com/basics-of-memory-management-in-python/
Bonjour à tous.
J'ai commencé à obtenir cette erreur en essayant de placer un ordre viaMetaTrader5.Buy() / Sell():
ordre_ouvert = mt5.Buy(symbole, volume)
Fichier "C:\Python3.7.4\lib\site-packages\MetaTrader5\__init__.py", ligne 313, dans Buy
si r.retcode != TRADE_RETCODE_REQUOTE et r.retcode != TRADE_RETCODE_PRICE_OFF:
AttributeError : L'objet 'NoneType' ne possède pas d'attribut 'retcode'.
Pouvez-vous suggérer comment le corriger ?
Bonjour à tous.
Une telle erreur a commencé à apparaître lorsque vous avez essayé de passer un ordre via MetaTrader5.Buy () / Sell ( ) :
ordre_ouvert = mt5.Buy(symbole, volume)
Fichier "C:\Python3.7.4\lib\site-packages\MetaTrader5\__init__.py", ligne 313, dans Buy
si r.retcode != TRADE_RETCODE_REQUOTE et r.retcode != TRADE_RETCODE_PRICE_OFF :
AttributeError : L'objet 'NoneType' ne possède pas d'attribut 'retcode'.
Pouvez-vous me dire comment le réparer ?
Quelle version du terminal utilisez-vous ?
Avez-vous mis à jour la version bêta ?
Quelle version du terminal utilisez-vous ?
Avez-vous mis à jour la version bêta ?
J'ai mis à jour la dernière version - version du paquet MetaTrader5 : 5.0.31
Cette erreur se produit à la fois lors de l'utilisation de mt5.Buy(), mt5.Sell() et mt5.order_send(requests).
Il est également écrit qu'il n'y a pas d'attribut "retcode".
J'ai mis à jour la dernière version - version du paquet MetaTrader5 : 5.0.31
Cette erreur se produit aussi bien lors de l'utilisation des fonctions mt5.Buy(), mt5.Sell() et mt5.order_send(requests).
Il est également écrit qu'il n'y a pas d'attribut "retcode".
La question portait sur la version terminale.
La question portait sur la version du terminal.
MT5 version : 5.00 build 2361 08 mar 2020
MT5 version : 5.00 build 2361 08 mar 2020
Passez à la version bêta, s'il vous plaît.
Nouvelles fonctions disponibles uniquement dans les versions bêta.
Passez à la version bêta, s'il vous plaît.
Nouvelles fonctions disponibles uniquement dans les versions bêta.
Mise à niveau vers la version 2432.
Mais l'erreur est toujours là...
Je l'ai essayé sur différents courtiers, même...