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
Bientôt disponible -
Nouveau système de communication analogue au Telegram - lire ce post.
============
Ichimoku
Le début
Après
============
Un bon fil de discussion a été créé avec des informations visualisées - Lefil des astuces.
Il est fortement recommandé de lire ce petit fil de discussion à tous les débutants (pour savoir), et aux utilisateurs expérimentés (pour rafraîchir leurs connaissances).
----------------
Service freelance
----------------
Plateforme
----------------
Conseiller expert
----------------
Testeur
Il s'agit d'une mise à jour très importante et très intéressante - veuillez la lire.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Plate-forme MetaTrader 5 Beta Build 1910 : Drag-and-drop non lié des graphiques et des bibliothèques .Net dans MQL5
MetaQuotes Software Corp., 2018.10.12 19:43
La version bêta de la plateforme MetaTrader 5 mise à jour sera publiée le 14 octobre 2018. Nous mettrons à jour notre serveur public MetaQuotes-Demo situé à access.metatrader5.com:443. Nous invitons tous les traders à participer aux tests afin d'évaluer les fonctionnalités de la plateforme mise à jour et d'aider les développeurs à corriger les erreurs.
La version finale de la nouvelle plateforme MetaTrader 5 sera publiée après le test bêta public.
La mise à jour comportera les changements suivants :
Cette fonctionnalité est pratique lorsque vous utilisez plusieurs moniteurs. Ainsi, vous pouvez placer la fenêtre principale de la plateforme sur un moniteur pour contrôler l'état de votre compte, et déplacer vos graphiques sur le second écran pour observer la situation du marché. Pour détacher un graphique du terminal, désactivez l'option Docked dans son menu contextuel. Ensuite, déplacez le graphique vers le moniteur souhaité.
Une barre d'outils distincte sur les graphiques détachés permet d'appliquer des objets analytiques et des indicateurs sans devoir passer d'un moniteur à l'autre. Utilisez le menu contextuel de la barre d'outils pour gérer l'ensemble des commandes disponibles ou pour la masquer.Les discussions de groupe et les canaux peuvent être publics ou privés. Leurs créateurs décident s'il est possible de les rejoindre librement ou seulement sur invitation. Vous pouvez également assigner des modérateurs aux canaux et aux chats pour un contrôle supplémentaire de la communication.
Le volume minimal et son étape de changement dépendent des paramètres de l'instrument financier du côté du courtier.
Pour travailler avec les fonctions des bibliothèques .NET, il suffit d'importer la DLL elle-même sans définir de fonctions spécifiques. MetaEditor importe automatiquement toutes les fonctions avec lesquelles il est possible de travailler :
.
Pour appeler des fonctions de la bibliothèque, il suffit de l'importer :
Le code C# de la fonction Inc de la TestClass se présente comme suit :
A la suite de l'exécution, le script renvoie la valeur 7.
Trouvez plus d'informations sur les spécificateurs dans MSDN.
Ajout des propriétés suivantes à l'énumération ENUM_CHART_PROPERTY_INTEGER:
Ajout des fonctions suivantes à l'énumération ENUM_TERMINAL_INFO_INTEGER:
struct MqlTick
{
datetime time; // Last price update time
double bid; // Current Bid price
double ask; // Current Ask price
double last; // Current price of the Last trade
ulong volume; // Volume for the current Last price
long time_msc; // Last price update time in milliseconds
uint flags; // Tick flags
double volume_real; // Volume for the current Last price with greater accuracy
};
Utilisez la fonction SymbolInfoDouble pour obtenir ces propriétés.
Pour le code suivant :
Le compilateur affiche l'avertissement suivant :
'Main::PRICE_OPEN_' instead of 'ENUM_APPLIED_PRICE::PRICE_CLOSE' will be used
Un bon fil de discussion a été lancé -Comment commencer avec MQL5
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading.
Comment commencer avec MQL5
Vladimir Karputov, 2018.12.24 20:34
Ce fil de discussion traite des exemples de code MQL5. Il y aura des exemples de comment obtenir des données à partir d'indicateurs, comment programmer des conseillers ... en général, toutes les questions du débutant au langage MQL5.
Si vous commencez tout juste à vous familiariser avec le terminal MetaTrader 5, je vous recommande les fils de discussion suivants :
Comment commencer avec Metatrader 5
Par où dois-je commencer ?
Utilisez les conseils du service Freelance !
Il y a un article que tout vendeur sur le marché devrait lire : il s'agit de la validation des produits du marché.
----------------
Les vérifications qu'un robot de trading doit passer avant d'être publié sur le Marché
Avant qu'un produit ne soit publié sur le marché, il doit subir des contrôles préliminaires obligatoires, car une petite erreur dans la logique de l'expert ou de l'indicateur peut entraîner des pertes sur le compte de trading. C'est pourquoi nous avons développé une série de contrôles de base pour garantir le niveau de qualité requis des produits de la Bourse.
Si des erreurs sont identifiées par les modérateurs du marché lors du processus de vérification de votre produit, vous devrez toutes les corriger. Cet article examine les erreurs les plus fréquentes commises par les développeurs dans leurs robots de trading et indicateurs techniques. Nous vous recommandons également de lire les articles suivants :
Merci mec...
Très utile, gros effort...
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Nouvelle plateforme MetaTrader 5 build 2005 : calendrier économique, applications MQL5 en tant que services et API en langage R
MetaQuotes Software Corp. , 2019.02.20 17:20
La mise à jour de la plateforme MetaTrader 5 sera publiée le 21 février 2019. La nouvelle version comporte les changements suivants :
- Terminal : calendrier économique intégré entièrement révisé.
- Terminal : Ajout d'un nouveau type d'applications MQL5 — Services. Ce nouveau type permet de créer des flux de prix personnalisés pour le terminal, c'est-à-dire d'implémenter la livraison des prix à partir de systèmes externes en temps réel, tout comme il est implémenté sur les serveurs de trading des courtiers.
- Terminal : Un programme d'apprentissage a été ajouté.
- Terminal : L'historique du compte de trading peut être présenté sous forme de positions. La plateforme collecte des données sur les transactions liées au poste (ouverture, augmentation de volume, clôture partielle ou totale) et regroupe les informations dans un seul enregistrement. Ainsi, vous pouvez accéder aux détails de la position : heure d'ouverture et de clôture, volume, prix et résultat. Cette forme de présentation efficace est désormais disponible dans les rapports d'historique exportés vers des fichiers.
- Terminal : Ajout d'une nouvelle API permettant de demander les données du terminal MetaTrader 5 via des applications utilisant le langage R.
R CMD INSTALL --build MetaTrader
- MT5Initialize initialise et établit la connexion avec le terminal MetaTrader 5. Si nécessaire, le terminal est lancé lors de l'exécution de la commande.
- MT5Shutdown se désinitialise et se déconnecte de MetaTrader 5.
- MT5Version obtient la version du terminal MetaTrader 5.
- MT5TerminalInfo obtient l'état et les paramètres de connexion du terminal au serveur d'un courtier (numéro de compte et adresse du serveur).
- MT5WaitTerminal attend que le terminal MetaTrader 5 se connecte au serveur d'un courtier.
- MT5CopyTicksFrom(symbol, from, count, flags) copie le nombre de ticks spécifié à partir de la date spécifiée. La date est spécifiée en millisecondes depuis le 01.01.1970.
- MT5CopyTicksRange(symbol, from, to, flags) copie les ticks à partir de la période spécifiée. Les dates sont spécifiées en millisecondes depuis le 01.01.1970.
- MT5CopyRatesFrom(symbol, timeframe, from, count) copie le nombre spécifié de barres d'une minute à partir de la date spécifiée. La date est spécifiée en secondes depuis le 01.01.1970.
- MT5CopyRatesFromPos(symbol, timeframe, start_pos, count) copie les barres d'une minute à partir de la position spécifiée par rapport à la dernière barre.
- MT5CopyRatesFromRange(symbol, timeframe, date_from, date_to) copie les barres à partir de la période spécifiée. Les dates sont spécifiées en secondes depuis le 01.01.1970.
- Terminal : boîte de dialogue Close By optimisée utilisée pour fermer une position par une position opposée. Désormais, le dialogue n'est pas ralenti même si vous avez un grand nombre de positions ouvertes.
- Terminal : Correction des erreurs de calcul de symboles synthétiques , en raison desquelles des données pouvaient parfois être ignorées.
- Terminal : lorsqu'un symbole personnalisé est supprimé, les fichiers stockant son historique de ticks et de barres sont également supprimés. Cela évite l'accumulation de données inutilisées sur le disque dur.
- Terminal : Correction de l'affichage des résultats de recherche sur les écrans High DPI.
- MQL5 : Accès implémenté aux données du calendrier économique des programmes MQL5.
- MQL5 : Corrections et améliorations de la vitesse de fonctionnement liées à l'historique des ticks et des barres.
- MQL5 : Corrections et améliorations significatives de la vitesse de fonctionnement liées aux fonctions de modification de l'historique des ticks et des barres des symboles de trading personnalisés, CustomTicks* et CustomRates* .
- MQL5 : Nouvelles fonctions de conversion de données.
- Ajout de la fonction MathSwap pour changer l'ordre des octets dans les valeurs ushort, uint et ulong.
- MQL5 : Fonctions réseau ajoutées pour créer des connexions TCP vers des hôtes distants via des sockets système :
- SocketCreate crée une socket avec des drapeaux spécifiés et renvoie son handle
- SocketClose ferme le socket
- SocketConnect se connecte au serveur, avec contrôle du délai d'attente
- SocketIsConnected vérifie si le socket est actuellement connecté
- SocketIsReadable obtient le nombre d'octets pouvant être lus à partir du socket
- SocketIsWritable vérifie si l'écriture de données sur ce socket est possible à l'heure actuelle
- SocketTimeouts définit les délais de réception et d'envoi des données pour l'objet socket système
- SocketRead lit les données d'un socket
- SocketSend écrit des données dans un socket
- SocketTlsHandshake initie une connexion sécurisée TLS (SSL) avec l'hôte spécifié à l'aide du protocole TLS Handshake
- SocketTlsCertificate reçoit des informations concernant le certificat utilisé pour la connexion réseau sécurisée
- SocketTlsRead lit les données d'une connexion TLS sécurisée
- SocketTlsReadAvailable lit toutes les données disponibles à partir d'une connexion TLS sécurisée
- SocketTlsSend envoie des données à l'aide d'une connexion TLS sécurisée
L'adresse de l'hôte, auquel la connexion à l'aide des fonctions réseau est établie, doit être explicitement ajoutée à la liste des adresses autorisées dans les paramètres du terminal.
- ERR_NETSOCKET_INVALIDHANDLE (5270) : handle de socket invalide passé à la fonction
- ERR_NETSOCKET_TOO_MANY_OPENED (5271) : trop de sockets ouverts (maximum 128)
- ERR_NETSOCKET_CANNOT_CONNECT (5272) : erreur lors de la connexion à l'hôte distant
- ERR_NETSOCKET_IO_ERROR (5273) : erreur lors de l'envoi/de la réception de données depuis le socket
- ERR_NETSOCKET_HANDSHAKE_FAILED (5274) : erreur d'établissement de connexion sécurisée (prise de contact TLS)
- ERR_NETSOCKET_NO_CERTIFICATE (5275) — aucune donnée sur le certificat utilisé pour la connexion sécurisée
- MQL5 : Ajout de nouvelles fonctions pour les opérations sur les chaînes :
- MQL5 : Ajout d'une nouvelle fonction pour les opérations sur les tableaux :
- MQL5 : Un nouveau paramètre "uint count" a été ajouté dans les fonctions CustomRatesUpdate , CustomRatesReplace , CustomTicksAdd et CustomTicksReplace . Il permet de spécifier le nombre d'éléments du tableau passé, qui seront utilisés pour ces fonctions. La valeur WHOLE_ARRAY est utilisée pour le paramètre par défaut. Cela signifie que l'ensemble du réseau sera utilisé.
- MQL5 : Ajout de la fonction CustomBookAdd pour transmettre le statut du Depth of Market pour un symbole personnalisé. La fonction permet de diffuser le Depth of Market comme si les prix arrivaient du serveur d'un broker.
- MQL5 : Ajout de la surcharge de la fonction CustomSymbolCreate . Cela permet la création d'un symbole de trading personnalisé basé sur un symbole existant. Après la création, toute propriété de symbole peut être modifiée à l'aide des fonctions correspondantes.
- La fonction StringToTime convertissant la chaîne avec date/heure en une valeur datetime a été mise à jour. Désormais, il prend en charge les formats de date suivants :
- aaaa.mm.jj [hh:mi]
- aaaa.mm.jj [hh:mi:ss]
- aaaammjj [hh:mi:ss]
- aaaammjj [hhmiss]
- aaaa/mm/jj [hh:mi:ss]
- aaaa-mm-jj [hh:mi:ss]
- MQL5 : Nouvelle propriété TERMINAL_VPS dans l'énumération ENUM_TERMINAL_INFO_INTEGER ; il montre que le terminal est en cours d'exécution sur le serveur d' hébergement virtuel MetaTrader (MetaTrader VPS). Si une application s'exécute sur un serveur d'hébergement, vous pouvez désactiver toutes ses fonctions visuelles, car le serveur virtuel n'a pas d'interface utilisateur graphique.
- MQL5 : Nouvelle propriété SYMBOL_EXIST dans l'énumération ENUM_SYMBOL_INFO_INTEGER , signifie que le symbole sous ce nom existe.
- MQL5 : Correction du typage lors de l'utilisation des pré-déclarations de fonction de modèle.
- MQL5 : Ajout de la réinitialisation des indicateurs lors du changement de compte de trading.
- MQL5 : Fonction StringSplit optimisée.
- MQL5 : correction d'erreurs dans le fonctionnement standard de la bibliothèque.
- Testeur : Ajout de la fonction TesterStop — arrêt anticipé de routine d'un Expert Advisor sur un agent de test. Désormais, vous pouvez arrêter de force les tests après avoir atteint le nombre spécifié de transactions perdantes, un niveau de retrait prédéfini ou tout autre critère.
- Testeur : capacité désactivée de tester et d'optimiser les Expert Advisors via MQL5 Cloud Network en mode tick réel. Ce mode ne peut être utilisé que sur des agents locaux et des fermes de réseau local.
- Testeur : Amélioration du travail avec les indicateurs lors des tests visuels. Désormais, le graphique des prix et les lignes de l'indicateur sont dessinés de manière synchrone, même pour la vitesse de visualisation maximale.
- Testeur : tests et optimisation optimisés et considérablement accélérés.
- Testeur : Correction du débogage des indicateurs sur les données historiques. Maintenant, les fonctions d'indicateur OnInit et OnDeinit peuvent être correctement déboguées.
- Testeur : implémentation d'un accès plus rapide aux données historiques lors des tests d'experts-conseils multidevises.
- Testeur : Correction du blocage occasionnel du testeur visuel lors du débogage sur les données historiques.
- Testeur : Implémentation d'un démarrage plus rapide des passes d'optimisation lors du traitement d'un package de tâches par un agent.
- Testeur : modification de la politique de distribution des packages de tâches aux agents de test. La taille du package a été augmentée et, par conséquent, la consommation de ressources sur les opérations réseau a été considérablement réduite.
- Testeur : modification du comportement des options permettant l'utilisation d'agents locaux, réseau et cloud. Désormais, lorsque vous désactivez les options, les agents terminent le traitement des tâches reçues, alors qu'aucune nouvelle tâche ne leur est confiée. Dans les versions antérieures, le comportement était similaire à la commande "Désactiver", qui arrêtait immédiatement le fonctionnement de l'agent.
- MetaEditor : ajout de la prise en charge des caractères non ANSI dans le débogueur. Désormais, les expressions s'affichent correctement même si le nom de la variable est spécifié en cyrillique.
- MetaEditor : Correction de l'affichage des résultats de recherche sur les écrans High DPI.
- Ajout de la traduction de l'interface utilisateur en croate.
- La documentation a été mise à jour.
La mise à jour sera disponible via le système LiveUpdate.Le calendrier économique est notre solution propriétaire. Vous y trouverez plus de 600 actualités financières et indicateurs liés aux 13 plus grandes économies mondiales : États-Unis, Union européenne, Japon, Royaume-Uni, Canada, Australie, Chine, entre autres. Les données pertinentes sont collectées à partir de sources ouvertes en temps réel.
La nouvelle version propose des contenus mis à jour et des filtres d'événements avancés : par heure, priorité, devises et pays.
Les données du calendrier sont désormais accessibles à partir des programmes MQL5. Veuillez voir ci-dessous pour plus de détails.
Contrairement aux Expert Advisors, aux indicateurs et aux scripts, les services ne sont pas liés à un graphique spécifique. Ces applications s'exécutent en arrière-plan et sont lancées automatiquement au démarrage du terminal (sauf si une telle application a été arrêtée de force).
Les services peuvent être gérés à partir d'une nouvelle section dans la fenêtre du navigateur :
Comment créer des services
Pour créer un modèle de service, utilisez l'option correspondante de l'assistant MQL5 . Les services ont un point d'entrée OnStart , similaire aux scripts. À ce stade, vous pouvez implémenter un cycle sans fin de réception et de traitement des données à l'aide des fonctions réseau .
Comment lancer des services
Pour exécuter plusieurs copies d'Expert Advisor ou d'indicateurs avec différents paramètres, vous devez les lancer sur différents graphiques. Dans ce cas, différentes instances de programme sont créées, qui fonctionnent alors indépendamment. Les services ne sont pas liés aux graphiques, c'est pourquoi un mécanisme spécial a été mis en place pour la création d'instances de service.
Sélectionnez un service dans le Navigateur et cliquez sur "Ajouter un service" dans son menu contextuel. Cela ouvrira une boîte de dialogue standard du programme MQL5, dans laquelle vous pouvez activer/désactiver le trading et l'accès aux paramètres du signal, ainsi que définir divers paramètres.
Une instance de service peut être lancée et arrêtée à l'aide du menu d'instance approprié. Pour gérer toutes les instances, utilisez le menu de service.La nouvelle fonctionnalité aidera les débutants à apprendre à interagir avec la plateforme. Nous avons ajouté plus de 100 astuces interactives concernant les principales fonctionnalités de la plateforme.
- Les conseils sont affichés de manière transparente sous forme de barre de progression sur la barre d'outils et ne distraient donc pas l'utilisateur.
- Les conseils n'apparaissent que pour les actions que vous n'avez jamais effectuées sur la plateforme.
- Tous les conseils incluent des liens interactifs, par lesquels vous pouvez naviguer vers les éléments d'interface pertinents. Par exemple, une boîte de dialogue de trading ou un menu avec le programme souhaité peut être lancé directement à partir de la pointe.
La zone remplie de la barre de progression augmente chaque fois que vous effectuez des actions appropriées et que vous poursuivez l'entraînement.Nous avons préparé un package MetaTrader spécial. Il contient des DLL pour les interactions entre R et le terminal MetaTrader 5, de la documentation et des fichiers r auxiliaires. Nous terminons l'enregistrement du package dans le référentiel CRAN , après quoi il sera disponible pour téléchargement et installation.
Le package peut être installé à l'aide d'une commande spéciale :
Les commandes suivantes liées à la demande de données sont disponibles :
La liste des commandes prises en charge sera encore élargie.
Nouvelles fonctions
CalendarCountryById — obtient la description du pays par identifiant.
CalendarEventById — obtient la description de l'événement par identifiant.
CalendarValueById — obtient la description de la valeur de l'événement par identifiant.
CalendarEventByCountry — obtient le tableau des événements disponibles pour le pays.
CalendarEventByCurrency — obtient le tableau des événements disponibles pour la devise affectée.
CalendarValueHistoryByEvent — obtient le tableau de valeurs pour la période spécifiée, par identifiant d'événement.
CalendarValueHistory — obtient le tableau de valeurs pour la période spécifiée pour tous les événements, filtrés par pays et/ou devise.
CalendarValueLastByEvent — obtient un tableau des dernières valeurs d'événement par identifiant. Cette fonction permet de demander les valeurs apparues depuis la précédente demande. Le paramètre d'entrée/sortie "change_id" est également utilisé pour cette opération.
Chaque fois que la base de données du calendrier change, la propriété "change_id" (l'identifiant du dernier changement) est mise à jour. Lors de la demande de données, vous spécifiez "change_id" et le terminal renvoie les événements qui sont apparus après cette heure, ainsi que la valeur actuelle de "change_id", qui peut être utilisée pour la prochaine demande. Lors du premier appel de la fonction, spécifiez le "change_id" nul : la fonction ne renverra aucun événement, mais renverra le "change_id" actuel pour les requêtes ultérieures.
CalendarValueLast — obtient le tableau des dernières valeurs pour tous les événements, filtrés par pays et/ou devise. Cette fonction permet de demander les valeurs apparues depuis la précédente demande. Comme pour CalendarValueLastByEvent, la propriété "change_id" est utilisée pour la requête.
Nouveaux ouvrages
MqlCalendarCountry — description du pays.
MqlCalendarEvent — description de l'événement.
MqlCalendarValue — description de la valeur de l'événement.
Nouvelles énumérations
Nouveaux codes d'erreur
CharArrayToStruct copie un tableau uchar dans une structure POD.
StructToCharArray copie une structure POD dans un tableau uchar.
De nouveaux codes d'erreur ont été ajoutés pour les opérations avec les fonctions réseau :
StringReserve réserve pour une chaîne la mémoire tampon de la taille spécifiée.
StringSetLength définit la longueur de chaîne spécifiée en caractères.
ArrayRemove supprime d'un tableau le nombre spécifié d'éléments commençant par l'index spécifié.
ArrayInsert insère dans un tableau récepteur le nombre spécifié d'éléments à partir du tableau source, en commençant par l'index spécifié.
ArrayReverse inverse dans un tableau le nombre spécifié d'éléments commençant par l'index spécifié.
Le nom du symbole, à partir duquel les propriétés du symbole personnalisé doivent être copiées, est spécifié dans le paramètre "symbol_origin".
Les tests effectués à l'aide de cette fonction sont considérés comme réussis. Après l'appel de la fonction, l'historique de trading obtenu lors des tests et toutes les statistiques de trading sont transmis au terminal.
Bonjour.
Dois-je supprimer ma build 1940 avant d'installer cette 2005 ?
J'ai essayé sans désinstaller et après installation c'est la même 1940 qu'avant.
De plus, je n'ai pas pu mettre à jour depuis l'année dernière, une raison ?
Dois-je tout supprimer et réessayer ?
Merci...