Comment démarrer avec Metatrader 5 - page 110

 
Sergey Golubev:

et l'article suivant -



Je suis nouveau, pouvez-vous m'aider ?

 
armynnoow:

Je suis nouveau, pouvez-vous m'aider ?


Il y a un post pour les débutants (sur le thème "par où commencer") -

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Comment commencer avec Metatrader 5

Sergey Golubev, 2017.10.03 06:39

Juste pour les débutants (si vous êtes nouveau sur ce site par exemple) - il est fortement recommandé de lire les articles/posts/fil de discussion suivants -.

============

1. Mémo de l'utilisateur

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Comment commencer avec Metatrader 5

Sergey Golubev, 2016.12.30 17:26

Juste quelques rappels sur la façon d'insérer du code dans le message(pour les nouveaux utilisateurs/nouveaux venus) - lisez ici, et lisez l'article en entier : MQL5.community - Mémo de l'utilisateur

============

2. Comment faire une recherche sur le portail forum/mql5.

============

3. Résumés

3.1Comment débuter avec MT5, un résumé(y compris le fil de discussion précédent: Comment débuter avec MetaTrader et le forex, le début)
Aide MetaTrader 4 - Terminal client - Guide d'utilisation
Aide MetaTrader 5 - Plateforme de trading - Manuel d'utilisation

3.2Tout (pas encore) sur Strategy Tester, Optimisation et Cloud

3.3Résumé du système ASCTREND(y compris 2 bons EAs)

3.4.système BRAINTRADING - mode d'emploi

3.5.système PriceChannel Parabolic(incl 2 versions de l'EA)

3.6.évaluation de la condition du marché(2 EAs ont été créés)

3.7.Ichimoku

3.8.vidéos financières et de trading - Table des matières

3.9.Tout sur l'onglet Calendrier et les événements macro-économiques

3.10Tout sur le MQL5 Wizard : créer des robots sans programmation

============

4. Premier article clé :
MetaTrader 5 - Plus que vous ne pouvez l'imaginer!

============

5. Deuxième article clé :
Des opportunités illimitées avec MetaTrader 5 et MQL5

============

6. Comment ajouter le courtier à MT5 :

6.1. Aide MetaTrader 5 -Ouvrir un compte

6.2. Aide MetaTrader 5 Android OS -Ouverture d'un compte de démonstration

6.3 Aide MetaTrader 5 iPhone/iPad -Connexion à un compte et ouverture d'un compte de démonstration

============

7.signaux

============

8.marché

============

9.MQL5 VPS pour MT4/MT5

9.1. Comment s'abonner au VPShttps://www.mql5.com/en/forum/187872#comment_4851530

9.2. Vous pouvez déplacer votre abonnement VPS d'un compte à un autre
https://www.mql5.com/en/forum/172120#comment_4166892

9.3. Description du VPS MQL5
https://www.mql5.com/en/forum/172553#comment_4185979

9.4. Surveillance du VPS
https://www.mql5.com/en/forum/188920#comment_4800677

9.5. Synchroniser -
https://www.mql5.com/en/forum/211508

============

10. Courtiers

10.1. Trouver un serveur par le nom du Broker :
https://www.mql5.com/en/forum/9950/page88#comment_3981953
https://www.mql5.com/en/forum/214820

10.2. Aide pour les débutants
https://www.mql5.com/en/forum/214904

10.3. Courtiers américains
https://www.mql5.com/en/forum/12423/page500#comment_4736742

============

11. Promotion :
https://www.mql5.com/en/forum/9950/page88#comment_3982032
https://www.mql5.com/en/forum/9950/page88#comment_3982030
https://www.mql5.com/en/forum/9950/page88#comment_3982036

============

12. Freelance, décompilation, les règles, exemples de code décompilé :
https://www.mql5.com/en/forum/203200

============

13. règles générales et bonnes pratiques du Forum

13.1.fil de discussion

13.2.règles du Forum

============

14. Le fil sur les fils:ce qui se passe partout sur le forum
Bon fil si vous cherchez quelque chose de nouveau et moderne (et gratuit)

============

15.Fil des suggestions d'amélioration de MT5, mql5, mql5.com

============

16. Comment s'abonner à un sujet ou inviter une personne dans le sujet-le fil de discussion

============


 

MetaEditor (qui est mis à jour en même temps que Metatrader) a été beaucoup amélioré.
Enormément !
Plus de protection de code, de projets, et plus et plus encore.

Vous pouvez essayer de les trouver par vous-même, ou attendre les communiqués qui seront publiés dans le courant de la semaine.

Juste pour information.

 

Il s'agit d'une mise à jour très intéressante, notamment pour MetaEditor. Il semble donc que je doive m'informer à ce sujet...

------------------

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 1700 : Projets dans MetaEditor et instruments financiers synthétiques

MetaQuotes Software Corp., 2017.12.05 14:33

Plate-forme MetaTrader 5 Beta Build 1700 : Projets dans MetaEditor et Instruments financiers synthétiques

La version bêta de la mise à jour de la plateforme MetaTrader 5 sera publiée le 6 décembre 2017. 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 mises à jour de la plateforme et d'aider les développeurs à corriger les erreurs.

Pour mettre à jour la plateforme MetaTrader 5 jusqu'à la version 1700, connectez-vous au serveur access.metatrader5.com:443.

La version finale de la nouvelle plateforme MetaTrader 5 sera publiée après le test bêta public.

Fin du support pour les anciennes versions de terminaux
La prise en charge des anciennes versions des terminaux de bureau et mobiles prendra fin dès la sortie de la nouvelle version de la plateforme :
  • Client Terminal : versions inférieures à 730, 23 novembre 2012
  • Terminal mobile pour iPhone : versions inférieures à 1171, 11 novembre 2015
  • Terminal mobile pour Android : versions inférieures à 1334, 5 août 2016
Les constructions de terminaux non prises en charge ne pourront pas se connecter aux nouvelles versions de serveur. Nous vous recommandons fortement de mettre à jour vos terminaux à l'avance.

Modifications du protocole d'opération de stockage MQL5
Pour supporter les nouveaux projets partagés, nous avons mis à jour le protocole d'opération avec le MQL5 Storage. Par conséquent, vous devrez effectuer un checkout de toutes les données du stockage après la mise à jour de la plateforme. Les données stockées dans le MQL5 Storage ne seront pas perdues ou affectées pendant la mise à jour.

Avant de mettre à jour la plateforme vers la nouvelle version, nous vous recommandons d'effectuer l'opération Commit pour envoyer tous les changements locaux au MQL5 Storage.

La mise à jour comprendra les changements suivants :

  1. Des projets complets sont maintenant disponibles dans MetaEditor. Le processus de développement du programme est devenu plus pratique.

    Désormais, le fichier principal du programme MQ5 n'apparaît pas comme le projet. Le projet est un fichier "MQPROJ" distinct, qui stocke les paramètres du programme, les paramètres de compilation et les informations sur tous les fichiers utilisés. Les paramètres principaux du projet sont accessibles à partir d'une boîte de dialogue séparée, il n'est donc plus nécessaire de les spécifier dans le code source via #property.

    Un onglet séparé dans le Navigateur est fourni pour un travail pratique avec le projet. Tous les fichiers, tels que les fichiers d'inclusion, de ressources, d'en-tête et autres sont classés en catégories dans cet onglet. Tous les fichiers sont automatiquement ajoutés au navigateur du projet. Par exemple, si vous incluez un nouveau fichier MQH, il apparaîtra automatiquement dans la section "Dépendances" du navigateur.

    La prise en charge de nouveaux projets a également été mise en œuvre dans le dépôt en ligne actualisé de MQL5 Storage. Il s'agit d'une option pratique pour développer de grands projets en collaboration avec d'autres membres de la communauté MQL5.

    Une nouvelle section Projets partagés est prévue pour les projets de groupe. Un projet créé dans cette section est immédiatement envoyé au stockage : vous pouvez accorder des permissions à d'autres utilisateurs et commencer la collaboration immédiatement.





    Lorsque vous compilez un projet dans la section Projets partagés, un fichier exécutable EX5 est automatiquement copié dans le répertoire local Experts, Indicateurs ou Scripts, selon le type de programme. Vous pouvez facilement lancer le programme sur un graphique sans avoir à copier les fichiers manuellement.


    Nouveautés dans l'opération de stockage de MQL5
    Pour mettre en œuvre le support des nouveaux projets partagés, nous avons modifié le protocole d'opération avec le MQL5 Storage. Par conséquent, vous devrez effectuer un checkout de toutes les données du stockage après la mise à jour de la plateforme. Les données stockées dans le stockage MQL5 ne seront pas perdues ou affectées pendant la mise à jour.
    Avant de mettre à jour la plateforme vers la nouvelle version, nous vous recommandons d'effectuer l'opération Commit pour envoyer toutes les modifications locales vers le stockage MQL5.
    La commande "Extraire du stockage" n'est désormais disponible que dans les projets partagés. Pour les autres catalogues du dossier MQL5, les commandes 'Activate MQL5 Storage' et 'Update from Storage' sont utilisées :

    • Si vous n'avez pas utilisé le stockage MQL5 dans l'instance actuelle de MetaEditor, cliquez sur 'Activer le stockage MQL5' dans le menu contextuel de la fenêtre du Navigateur. Tous les catalogues et fichiers disponibles dans votre stockage seront téléchargés sur votre ordinateur local.
    • Si vous travaillez déjà avec le stockage, cliquez sur 'Update files from Storage' dans le menu contextuel de l'élément MQL5 racine dans le Navigateur pour recevoir toutes les données du stockage.


    Nouveaux projets : Exemples de détails de création et d'opération
    Une nouvelle entité projet a été ajoutée dans MetaEditor. Un projet est un fichier mqproj qui stocke les propriétés communes du programme et les informations sur tous les fichiers utilisés. Maintenant, les propriétés du programme peuvent être gérées de manière pratique à partir d'une boîte de dialogue MetaEditor séparée au lieu de modifier manuellement les propriétés dans le code source (en utilisant les directives #property).

    Si vous avez du code disponible, vous pouvez facilement tester de nouveaux projets en utilisant la commande 'New Project from Source'.




    Dans le répertoire où se trouve le fichier sélectionné, un nouveau fichier projet portant le même nom et l'extension mqproj sera créé. Les principales propriétés du programme spécifiées dans le code source via #property seront automatiquement ajoutées au projet, notamment le nom, le copyright, la version, le lien vers le site du développeur et la description du programme.
    L'ensemble des propriétés du programme dans le fichier de projet a une priorité plus élevée que les propriétés spécifiées dans le code du programme. Si des propriétés sont spécifiées à la fois dans le projet et dans le fichier source, les propriétés du projet seront utilisées.




    Deux nouvelles options pour la compilation des programmes MQL5 ont été ajoutées aux propriétés du projet :

    • Activez l'optimisation supplémentaire : les applications dont l'optimisation est désactivée sont compilées plus rapidement, mais s'exécutent plus lentement.
    • Vérification des diviseurs à virgule flottante : les applications dont la vérification est désactivée fonctionnent un peu plus rapidement, car l'erreur de division par zéro n'est pas vérifiée pendant l'exécution du code.

    Pour travailler avec les projets, utilisez un onglet Projet distinct dans la fenêtre du Navigateur. Tous les fichiers utilisés dans un projet sont affichés sur cet onglet sous une forme pratique. Lorsqu'un projet est généré à partir d'un fichier source, tous les fichiers include utilisés (spécifiés à l'aide du répertoire #include dans le fichier MQ5 principal et dans ses fichiers include) sont automatiquement ajoutés à la section Dépendances.

    Lorsqu'un nouveau fichier include est ajouté au code source, il apparaît également dans le navigateur du projet. Les fichiers d'en-tête utilisés sont ajoutés à la section En-têtes ; les images, les sons et les autres programmes MQL5 utilisés dans le projet comme ressources sont ajoutés à la section Ressources. Les fichiers MQ5 avec le code source sont affichés dans la section Sources. Dans la section "Paramètres et fichiers", vous pouvez ajouter d'autres fichiers, tels que les fichiers de jeu pour les tests et les modèles de graphiques.

    Utilisez les commandes du menu contextuel pour ajouter des fichiers existants à un projet ou pour en supprimer. Soyez prudent lorsque vous supprimez des fichiers, car vous pouvez retirer un fichier du projet (supprimer la liaison) ou le supprimer complètement du disque dur :



    La création d'un nouveau projet est aussi facile que la création d'un programme MQL5 normal. Cliquez sur 'Nouveau projet', sélectionnez le type de nouveau programme et spécifiez les propriétés (comme le nom, les gestionnaires d'événements, etc.) dans l'assistant MQL5.

    Pour obtenir un fichier EX5 exécutable, vous pouvez ouvrir le projet et appuyer sur F7 (la commande de compilation) ou ouvrir le fichier MQ5 principal du programme et le compiler.

    Projets partagés dans le stockage MQL5 : Détails du fonctionnement
    Les projets partagés sont gérés à partir d'une section séparée Projets partagés. Si vous n'avez pas encore connecté le stockage, exécutez la commande 'Activate MQL5 Storage' à partir du menu contextuel du dossier souhaité. MetaEditor vérifiera si votre stockage contient des données sauvegardées et s'il y a des projets partagés disponibles. Toutes les données disponibles seront extraites du stockage et téléchargées sur votre ordinateur (l'opération de vérification). Les projets de groupe disponibles apparaissent dans la section Projets partagés. Pour récupérer les projets, exécutez "Extraire du stockage" dans le menu contextuel.

    Pour créer un nouveau projet de groupe, sélectionnez le dossier Projets partagés et cliquez sur "Nouveau projet" :



    Effectuez ensuite les étapes standard de MQL5 : définissez le type, le nom et les propriétés du programme souhaité. Pour les projets de groupe, vous devez utiliser des noms clairs et compréhensibles, afin que les autres participants puissent les trouver facilement. Seules les lettres latines sans espace peuvent être utilisées dans les noms de projets.

    Un objet créé est immédiatement ajouté au stockage MQL5. Les fichiers de la bibliothèque standard utilisés dans le projet ne sont pas ajoutés au stockage, et vous pouvez les ajouter manuellement.

    Pour permettre à d'autres participants de travailler avec le projet, ouvrez ses propriétés. A partir de là, vous pouvez accorder des permissions à des utilisateurs sélectionnés en spécifiant leur login MQL5.community, ainsi que définir des paramètres communs pour le travail de groupe :

    • Projet privé
    • Projet gratuit à rejoindre
    • Rejoignez le projet sur demande



    Lorsque vous compilez un projet de groupe, le fichier exécutable EX5 est automatiquement copié dans le répertoire local Experts, Indicateurs ou Scripts, selon le type de programme. Cela vous permet d'exécuter instantanément le programme dans le terminal sans avoir à le copier manuellement dans le répertoire approprié.

  2. Terminal : La plateforme de trading permet maintenant de créer des instruments financiers synthétiques, c'est-à-dire des symboles basés sur un ou plusieurs instruments existants. L'utilisateur doit définir la formule de calcul des cotations, après quoi la plateforme générera les ticks de l'instrument synthétique en temps réel, et créera également son historique de minutes.

    Comment cela fonctionne-t-il ?
    • Vous créez un instrument synthétique et définissez la formule pour le calcul du prix.
    • La plateforme calcule les ticks à une fréquence de 10 fois par seconde, à condition que le prix d'au moins un des instruments utilisés dans la formule ait changé.
    • La plateforme calcule également l'historique des barres d'une minute (pour les deux derniers mois) sur la base des barres d'une minute des instruments utilisés dans sa formule. Toutes les nouvelles barres (actuelles et suivantes) sont construites en temps réel sur la base des ticks générés par l'instrument synthétique.
    Par exemple, vous pouvez créer un instrument montrant l'indice du dollar (USDX). Il utilise la formule ci-dessous :
    50.14348112 * pow(ask(EURUSD),-0.576) * pow(USDJPY,0.136) * pow(ask(GBPUSD),-0.119) * pow(USDCAD,0.091) * pow(USDSEK,0.042) * pow(USDCHF,0.036)
    Remarque : les paires USDEUR et USDGBP sont utilisées dans la formule de l'indice dollar source. Comme seules les paires inversées sont disponibles sur la plateforme, une puissance négative et Ask au lieu de Bid sont utilisés dans la formule du symbole synthétique.

    La plateforme calculera en temps réel le prix du nouvel instrument sur la base des cotations des six autres symboles fournis par votre courtier. Les changements de prix seront visualisés dans la fenêtre Market Watch et sur le graphique :



    Créez un nouveau symbole personnalisé, ouvrez sa spécification et entrez la formule :



    Pour plus de commodité, l'éditeur de formules affiche une liste d'options possibles au fur et à mesure que vous tapez les noms des symboles et des fonctions.

    Le calcul des ticks et des barres d'une minute d'un instrument synthétique commence lorsque cet instrument est ajouté à la Market Watch. De même, tous les symboles nécessaires au calcul du prix synthétique sont automatiquement ajoutés au Market Watch. Une entrée concernant le début du calcul sera ajoutée au journal de la plateforme : Symbole synthétique USDX : le traitement a commencé.
    • Le calcul d'un instrument synthétique s'arrête dès qu'il est supprimé du Market Watch.
    • Les symboles qui sont actuellement utilisés pour calculer les prix des symboles synthétiques ne peuvent pas être masqués de la Market Watch.

    Calcul en temps réel des cotations
    Toutes les 100 ms (c'est-à-dire dix fois par seconde), les prix des symboles utilisés dans le calcul sont vérifiés. Si au moins l'un d'entre eux a changé, le prix du symbole synthétique est calculé et un nouveau tick est généré. Le calcul est effectué en parallèle dans trois threads pour les prix Bid, Ask et Last. Par exemple, si la formule de calcul est EURUSD*GBPUSD, le prix du symbole synthétique sera calculé comme suit :

    • Bid = bid(EURUSD)*bid(GBPUSD)
    • Ask = ask(EURUSD)*ask(GBPUSD)
    • Dernier = dernier(EURUSD)*dernier(GBPUSD)

    La disponibilité des modifications est vérifiée séparément pour chaque prix. Par exemple, si seul le cours acheteur d'un instrument source a changé, seul le prix approprié d'un instrument synthétique sera calculé.

    Création d'un historique des barres minutes
    En plus de la collecte des ticks en temps réel, la plateforme crée un historique des minutes de l'instrument synthétique. Cela permet aux traders de visualiser des graphiques de symboles synthétiques similaires aux graphiques normaux, ainsi que d'effectuer des analyses techniques en utilisant des objets et des indicateurs.

    Lorsqu'un trader ajoute un instrument synthétique à la Market Watch, la plateforme vérifie si l'historique minute calculé existe. S'il n'existe pas, l'historique des 60 derniers jours sera créé, ce qui comprend environ 50 000 barres. Si une valeur inférieure est spécifiée dans le paramètre 'Max. bars in chart' dans les paramètres de la plateforme, la restriction appropriée s'appliquera.

    Si certaines des barres de cette période ont déjà été créées, la plateforme génère en plus de nouvelles barres. Un historique plus profond est créé si l'utilisateur tente de visualiser une période plus ancienne sur le graphique (en le faisant défiler en arrière ou en y accédant depuis un programme MQL5).

    L'historique des barres d'une minute d'un instrument synthétique est calculé sur la base des barres d'une minute (et non des ticks) des instruments utilisés dans sa formule. Par exemple, pour calculer le prix Open d'une barre d'une minute d'un symbole synthétique, la plateforme utilise les prix Open des symboles utilisés dans sa formule. Les prix High, Low et Close sont calculés de manière similaire.

    Si la barre requise n'est pas disponible pour l'un des instruments, la plateforme utilisera le prix de clôture de la barre précédente. Par exemple, trois instruments sont utilisés : EURUSD, USDJPY et GBPUSD. Si dans le calcul d'une barre correspondant à 12:00 la barre requise de USDJPY n'est pas disponible, les prix suivants seront utilisés pour le calcul :

    • Ouverture : EURUSD ouvert 12:00, USDJPY fermé 11:59, GBPUSD ouvert 12:00
    • Haut : EURUSD Haut 12:00, USDJPY Clôture 11:59, GBPUSD Haut 12:00
    • Bas : EURUSD Bas 12:00, USDJPY Clôture 11:59, GBPUSD Bas 12:00
    • Fermer : EURUSD clôture 12:00, USDJPY clôture 11:59, GBPUSD clôture 12:00

    Si la barre minute n'est pas disponible pour tous les instruments utilisés dans la formule, la barre minute appropriée de l'instrument synthétique ne sera pas calculée.

    Tracer de nouvelles barres minutes
    Toutes les nouvelles barres (actuelles et suivantes) de l'instrument synthétique sont créées sur la base des ticks générés. Le prix utilisé pour construire les barres dépend de la valeur du paramètre Chart Mode dans la spécification :




    Quelles opérations peuvent être utilisées dans la formule de symbole
    Les données de prix et certaines propriétés des symboles existants fournies par le courtier peuvent être utilisées pour calculer les prix synthétiques. Spécifiez les éléments suivants :

    • Nom du symbole - selon le prix synthétique à calculer, le Bid, Ask ou Last de l'instrument spécifié sera utilisé. Par exemple, si EURUSD*GBPUSD est spécifié, Bid est calculé comme bid(EURUSD)*bid(GBPUSD), et Ask = ask(EURUSD)*ask(GBPUSD).
    • bid(nom du symbole) - le cours acheteur du symbole spécifié sera obligatoirement utilisé pour calculer le cours acheteur de l'instrument synthétique. Cette option est similaire à la précédente (lorsque le type de prix n'est pas spécifié).
    • ask(nom du symbole) - le cours vendeur du symbole spécifié sera utilisé pour calculer le cours acheteur de l'instrument synthétique. Le prix Bid de l'instrument spécifié sera utilisé pour calculer le Ask. Le dernier prix du symbole spécifié sera utilisé pour calculer le dernier prix. Si ask(EURUSD)*GBPUSD est spécifié, le calcul suivant sera utilisé :
      • Вid = ask(EURUSD)*bid(GBPUSD)
      • Ask = bid(EURUSD)*ask(GBPUSD)
      • Last = last(EURUSD)*last(GBPUSD)
    • last(nom du symbole) - le dernier prix du symbole spécifié sera utilisé dans le calcul de tous les prix de l'instrument synthétique (Bid, Ask et Last). Si last(EURUSD)*GBPUSD est spécifié, le calcul suivant sera utilisé :
      • Вid = last(EURUSD)*bid(GBPUSD)
      • Ask = last(EURUSD)*ask(GBPUSD)
      • Last = last(EURUSD)*last(GBPUSD)
    • volume(nom du symbole) - le volume en ticks de l'instrument spécifié sera utilisé dans la formule. Assurez-vous que les informations sur le volume sont fournies par le courtier pour ce symbole.
    • point(nom du symbole) - le changement de prix minimum de l'instrument spécifié sera utilisé dans les calculs.
    • digits(nom du symbole) - le nombre de décimales du prix du symbole spécifié sera utilisé dans la formule.

    Si un symbole a un nom complexe (contenant des traits d'union, des points, etc.), il doit être écrit entre guillemets. Exemple : "RTS-6.17".
    Les opérations arithmétiques suivantes peuvent être utilisées dans la formule : addition (+), soustraction (-), multiplication (*), division (/) et reste de la division (%). Par exemple, EURUSD+GBPUSD signifie que le prix est calculé comme la somme des prix EURUSD et GBPUSD. Vous pouvez également utiliser le signe unaire moins pour modifier le signe, par exemple : -10*EURUSD.

    Tenez compte de la priorité de calcul des opérations arithmétiques :

    • Les opérations de multiplication, de division et de reste sont effectuées en premier ; ensuite, les opérations d'addition et de soustraction sont effectuées.
    • Les opérations sont effectuées de gauche à droite. Si la formule utilise plusieurs opérations qui ont la même priorité (par exemple, multiplication et division), l'opération de gauche sera effectuée en premier.
    • Vous pouvez utiliser des parenthèses ( et ) pour modifier la priorité des opérations. Les opérations entre parenthèses ont la priorité la plus élevée dans le calcul. Le principe de gauche à droite s'applique également pour elles : les opérations entre parenthèses à gauche sont calculées en premier.

    Vous pouvez utiliser des constantes dans la formule :

    • Numériques (entiers et flottants). Exemple : EURUSD*2+GBPUSD*0,7.
    • Propriétés des symboles _Digits et _Point. Elles ajoutent à la formule les propriétés appropriées du symbole personnalisé de la spécification. _Digits signifie le nombre de décimales du prix de l'instrument ; _Point signifie la plus petite variation du prix du symbole.

    Vous pouvez également utiliser dans la formule toutes les fonctions mathématiques prises en charge dans MQL5, à l'exception de MathSrand, MathRand et MathIsValidNuber : Seuls des noms courts sont utilisés pour toutes les fonctions, comme fabs(), acos(), asin() etc.

  3. Terminal : Une nouvelle option a été implémentée, permettant d'ajouter des cotations d'instruments personnalisés en temps réel. Maintenant, il est possible de développer un Expert Advisor MQL5 qui alimenterait les cotations du symbole personnalisé spécifié. La fonction CustomTicksAdd est utilisée pour cela.
    int  CustomTicksAdd(
       const string           symbol,       // Symbol name
       const MqlTick&         ticks[]       // The array with tick data that should be applied to the custom symbol
       );
    La fonction CustomTicksAdd permet d'alimenter les cotations comme si elles étaient reçues du serveur d'un courtier. Les données sont envoyées à la fenêtre Market Watch au lieu d'être écrites directement dans la base de données des tick. Ensuite, le terminal enregistre les ticks de la fenêtre Market Watch dans la base de données. Si un grand volume de données est transmis en un seul appel, le comportement de la fonction change, afin d'économiser les ressources. Si plus de 256 ticks sont transmis, les données sont divisées en deux parties. Une partie plus importante est enregistrée directement dans la base de données des ticks (similaire à CustomTicksReplace). La seconde partie, composée des 128 derniers ticks, est envoyée au Market Watch, d'où le terminal enregistre les ticks dans une base de données.

  4. MQL5 : Un nouveau service en ligne MQL5 Cloud Protector a été ajouté pour fournir une protection supplémentaire aux programmes MQL5. La protection est similaire à l'option utilisée dans le plus grand magasin d'applications de trading MetaTrader Market, où les fichiers de produits EX5 soumis par les vendeurs sont en plus compilés en code natif.

    Désormais, ce type de protection est disponible pour tous les utilisateurs de la plateforme. Pour protéger vos fichiers, exécutez la commande suivante dans MetaEditor : Outils-MQL5 Cloud Protector. La seule différence du MQL5 Cloud Protector par rapport au mécanisme utilisé sur le marché, est que le fichier n'est pas lié à l'ordinateur de l'utilisateur. Les fichiers protégés par MQL5 Cloud Protector peuvent être exécutés sur n'importe quel ordinateur, tout comme les fichiers EX5 courants.
    MQL5 Cloud Protector est un service sécurisé. Une protection supplémentaire est uniquement appliquée à un fichier compilé. Le code source n'est pas transmis au service. À la première étape, un programme est compilé en un fichier EX5 sur l'ordinateur de l'utilisateur ; ensuite, le fichier compilé est envoyé par un canal crypté au service, où il est protégé et renvoyé à l'utilisateur.



  5. Terminal : La fenêtre Market Watch présente désormais en plus les prix High et Low. Ces colonnes sont masquées par défaut. Elles peuvent être activées à l'aide du menu contextuel :




    Si le graphique d'un symbole est construit en utilisant les prix d'offre (selon les paramètres de spécification), les prix d'offre haut et bas sont affichés pour ce symbole. Si un graphique de symbole est construit en utilisant les derniers prix, les derniers prix hauts et bas sont affichés pour ce symbole.

    Si Market Watch contient au moins un symbole dont le graphique est construit sur la base des derniers prix, la colonne Dernier est automatiquement activée en plus de Haut/Bas.

  6. Terminal : Il est désormais possible de modifier l'historique des ticks des instruments financiers personnalisés. Cliquez sur 'Symboles' dans le menu contextuel de Market Watch, sélectionnez un symbole personnalisé et demandez l'intervalle de données requis dans l'onglet Ticks.

    • Double-tapez pour modifier la valeur.
    • Utilisez le menu contextuel pour ajouter ou supprimer des entrées
    • Si vous devez supprimer plusieurs barres/tickets à la fois, sélectionnez-les avec la souris en maintenant la touche Shift ou Ctrl+Shift enfoncée.



    Pour plus de commodité, les entrées modifiées sont mises en évidence comme suit :

    • Un fond vert indique une entrée modifiée
    • Le fond gris indique une entrée supprimée
    • Le fond jaune indique une entrée ajoutée

    Pour enregistrer les modifications, cliquez sur "Appliquer les modifications" au bas de la fenêtre.

  7. Terminal : Ajout de l'affichage de l'heure en millisecondes dans la fenêtre des citations.




  8. Terminal : Le balayage des serveurs disponibles dans la boîte de dialogue d'ouverture d'un nouveau compte est devenu plus rapide.
  9. Terminal : Correction de l'affichage de l'objet graphique Ligne de tendance lorsque les options Rayon gauche et Rayon droit sont activées.
  10. Terminal : Optimisation du fonctionnement avec une grande quantité d'e-mails internes (des centaines de milliers).
  11. Terminal : Optimisation du fonctionnement du terminal avec un grand nombre d'instruments de trading (50 000 ou plus).
  12. MQL5 : De nouvelles fonctions pour travailler avec des instruments financiers personnalisés ont été ajoutées.

    Fonction Action
    CustomSymbolCreate Créer un symbole personnalisé avec le nom spécifié dans le groupe spécifié.
    CustomSymbolDelete Supprime un symbole personnalisé avec le nom spécifié
    CustomSymbolSetInteger Définit la valeur de la propriété de type entier pour un symbole personnalisé.
    CustomSymbolSetDouble Définir la valeur de la propriété de type réel pour un symbole personnalisé
    CustomSymbolSetString Définit la valeur de la propriété de type chaîne de caractères pour un symbole personnalisé.
    CustomSymbolSetMarginRate Définit les taux de marge en fonction du type d'ordre et de la direction pour un symbole personnalisé.
    CustomSymbolSetSessionQuote Définit l'heure de début et de fin de la session de cotation spécifiée pour le symbole et le jour de la semaine spécifiés.
    CustomSymbolSetSessionTrade Définit l'heure de début et de fin de la session de négociation spécifiée pour le symbole et le jour de la semaine spécifiés.
    CustomRatesDelete Supprime toutes les barres de l'historique des cours du symbole personnalisé dans l'intervalle de temps spécifié.
    CustomRatesReplace Remplace entièrement l'historique des prix du symbole personnalisé dans l'intervalle de temps spécifié avec les données du tableau de type MqlRates.
    CustomRatesUpdate Ajoute les barres manquantes à l'historique du symbole personnalisé et remplace les données existantes par celles du tableau de type MqlRates.
    CustomTicksAdd Ajoute les données d'un tableau de type MqlTick à l'historique des prix d'un symbole personnalisé. Le symbole personnalisé doit être sélectionné dans la fenêtre Market Watch.
    CustomTicksDelete Supprime tous les ticks de l'historique des prix du symbole personnalisé dans l'intervalle de temps spécifié.
    CustomTicksReplace Remplace entièrement l'historique des prix du symbole personnalisé dans l'intervalle de temps spécifié avec les données du tableau de type MqlTick.

  13. MQL5 : Ajout de la prise en charge des modèles pour le type de données union.
  14. MQL5 : La propriété d'instrument de trading SYMBOL_VISIBLE a été ajoutée. L'appel de SymbolInfoInteger(symbol, SYMBOL_VISIBLE) retourne false si le symbole spécifié n'est pas visible dans le Market Watch.
  15. MQL5 : Ajout de la nouvelle propriété CHARTEVENT_MOUSE_WHEEL. L'événement est appelé lorsque la molette de la souris défile ou est pressée sur le graphique (si CHART_EVENT_MOUSE_WHEEL=true pour le graphique).
  16. MQL5 : Les propriétés de graphique suivantes ont été ajoutées :

    • CHART_EVENT_MOUSE_WHEEL - activer/désactiver la génération de CHART_EVENT_MOUSE_WHEEL (événement de défilement et de clic de la souris sur le graphique). Valeurs possibles : 0 et 1.
    • CHART_CROSSHAIR_TOOL - active/désactive la possibilité de basculer le curseur en mode Crosshair par un clic central. Valeurs possibles : 0 et 1.
    • CHART_CONTEXT_MENU - active/désactive l'utilisation du clic droit pour afficher le menu contextuel du graphique. Valeurs possibles : 0 et 1.

  17. MQL5 : Désormais, les tampons de dessin avec le style DRAW_NONE ne sont pas pris en compte lors du calcul de l'échelle de la fenêtre de l'indicateur.
  18. MQL5 : Ajout de la génération de l'événement CHARTEVENT_CHART_CHANGE lors de la définition de la propriété CHART_SCALEFIX (échelle fixe) pour le graphique.
  19. MQL5 : La fonction ArraySwap a été ajoutée, permettant de permuter rapidement le contenu des tableaux dynamiques.
    bool  ArraySwap(
       void&  array1[],      // The first array
       void&  array2[]       // The second array
       );
    La fonction accepte les tableaux dynamiques de même type et de mêmes dimensions. Pour les tableaux multidimensionnels, le nombre d'éléments de toutes les dimensions, sauf la première, doit correspondre.

  20. Signaux : Indication fixe du type de remplissage de l'ordre en cas de fermeture forcée de positions ouvertes en fonction d'un signal. L'option "Stop si le compte est inférieur à XXX USD" est fournie dans les options de copie des signaux : si les capitaux propres tombent en dessous d'un niveau spécifié, la copie des signaux commerciaux est automatiquement terminée, toutes les positions sont fermées. Auparavant, un type de remplissage incorrect pouvait être défini pour les ordres de fermeture de position en cas de fermeture forcée. Désormais, le terminal vérifie les types de remplissage autorisés dans les paramètres des symboles et indique une option appropriée.
  21. Testeur : Le comportement de la fonction HistoryOrderSelect dans le testeur de stratégie correspond désormais à la même fonction dans le terminal client.
  22. Tester : Le comportement des fonctions CopyTicks et CopyTicksRange dans le testeur de stratégie correspond maintenant aux mêmes fonctions dans le terminal client.
  23. Testeur : Affichage optimisé des objets graphiques lors des tests visuels.
  24. Testeur : Correction de l'affichage des résultats des tests des instruments de change (avec le modèle de gestion du risque de change). Désormais, le graphique ne montre que l'équité, tandis que le solde et la charge du dépôt ne sont pas affichés. Le statut commercial de ces comptes est évalué sur la base du niveau d'équité. Le solde indique uniquement le montant d'argent sur le compte et ne tient pas compte de l'actif et du passif du trader. La charge du dépôt (marge/équité) n'est pas affichée, car dans le mode de calcul de l'échange, la marge est égale à la valeur actualisée actuelle de l'actif/du passif, et elle change en même temps que l'équité.
  25. MetaEditor : Ajout de la possibilité d'insérer facilement des propriétés et des ressources dans le code du programme. Par exemple, vous pouvez rapidement ajouter un fichier inclus au code. Utilisez la commande "Insert-MQH as #incude", et sélectionnez le fichier inclus souhaité. La directive #include avec le chemin d'accès approprié au fichier sélectionné sera insérée dans le code du programme.



    Le même menu permet d'ajouter au code du programme des fichiers sous forme de tableau binaire ou de texte. Entre autres, vous pouvez transférer des modèles de graphiques avec des Expert Advisors ou des indicateurs : insérez votre modèle dans le code du programme sous forme de tableau, et enregistrez-le sur le disque en utilisant la fonction FileSave. Ensuite, le modèle peut être appliqué sur le graphique souhaité directement depuis un Expert Advisor en utilisant la fonction ChartApplyTemplate.
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
    //--- Template file as a binary array
       unsigned char my_template[]=
         {
          0xFF,0xFE,0x3C, ... ,0x00 // The data array in this example is shortened
         };
    //--- Saving and applying the template
       if(FileSave("my_template.tpl",my_template))
         {
          Print("Custom template saved in \\MQL5\\Files");
          if(ChartApplyTemplate(0,"\\Files\\my_template.tpl"))
             Print("Custom template applied to the current chart");
          else
             Print("Failed to apply custom template");
         }
       else
          Print("Failed to save custom template");
      }

  26. MetaEditor : Ajout d'une option pour convertir les chaînes de caractères entre les formats ASCII, HEX et Base64. Sélectionnez une ligne dans le code source et cliquez sur la commande souhaitée dans le menu Edit-Convert :




  27. MetaEditor : Correction de la recherche insensible à la casse dans les fichiers.
  28. MetaEditor : Correction d'une erreur de débogage qui pouvait survenir lors du calcul d'expressions similaires à x.y[0][1].z.
  29. MetaEditor : Correction de la navigation dans le code à l'aide des boutons "Forward" et "Back".
  30. L'interface utilisateur est désormais disponible en néerlandais.
  31. Mise à jour de la documentation.


La mise à jour sera disponible via le système LiveUpdate.


 

Un article très intéressant a été publié aujourd'hui -

----------------

Comment négocier sur un marché externe de crypto-monnaies via MetaTrader 5?

Il n'y a pas si longtemps, les développeurs du langage MQL5 ont présenté une nouvelle fonctionnalité permettant de développer des symboles et des graphiques personnalisés. La grande communauté des traders n'a pas encore eu le temps d'apprécier la puissance de cette innovation, mais même une réflexion simple et discrète montre un énorme potentiel caché dans les symboles personnalisés. Avec d'autres outils MQL, ils vous permettent de mettre en œuvre un grand nombre des idées les plus audacieuses et les plus intéressantes.

Désormais, MetaTrader 5 n'est pas seulement un terminal qui interagit avec un DC. Il s'agit plutôt d'une plateforme analytique autonome capable de se connecter à diverses bourses via l'API, ainsi que de visualiser les mouvements de prix et les flux commerciaux. Un petit ensemble de nouvelles fonctionnalités fait du terminal un système ouvert plutôt qu'une boîte à outils contenant un nombre limité d'outils de trading. À mon avis, les outils personnalisés peuvent également devenir de puissantes capacités d'analyse.

Illustrons les nouvelles fonctionnalités linguistiques en prenant pour exemple le sujet populaire des crypto-monnaies. Je pense que cela renforcera l'intérêt de la communauté pour les symboles personnalisés.

Qui pourrait bénéficier de l'article :

  • les traders d'échange de crypto-monnaies ;
  • les investisseurs familiarisés avec MetaTrader 5 et les investissements de portefeuille ;
  • les programmeurs indépendants qui peuvent maintenant exécuter les ordres des clients liés au trading de cryptocurrency d'une manière plus simple (et moins chère) ;
  • tous ceux qui suivent les nouvelles fonctionnalités de MetaTrader 5 et du langage MQL5.
 

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Nouveau MetaTrader 5 Build 1730 : Projets dans MetaEditor et instruments financiers synthétiques

MetaQuotes Software Corp., 2017.12.20 13:49

Nouveau MetaTrader 5 Build 1730 : Projets dans MetaEditor et instruments financiers synthétiques

La mise à jour de la plateforme MetaTrader 5 sera publiée le 21 décembre 2017.

Fin du support pour les anciennes versions de terminaux
La prise en charge des anciennes versions des terminaux de bureau et mobiles prendra fin à la sortie de la nouvelle version de la plate-forme :
  • Client Terminal : versions inférieures à 730, 23 novembre 2012
  • Terminal mobile pour iPhone : versions inférieures à 1171, 11 novembre 2015.
  • Terminal mobile pour Android : versions inférieures à 1334, le 5 août 2016.
Les constructions de terminaux non prises en charge ne pourront pas se connecter aux nouvelles versions du serveur. Nous vous recommandons fortement de mettre à jour vos terminaux à l'avance.

Modifications du protocole d'opération de stockage MQL5
Pour supporter les nouveaux projets partagés, nous avons mis à jour le protocole d'opération avec le MQL5 Storage. Par conséquent, vous devrez effectuer un checkout de toutes les données du stockage après la mise à jour de la plateforme. Les données stockées dans le MQL5 Storage ne seront pas perdues ou affectées pendant la mise à jour.

Avant de mettre à jour la plateforme vers la nouvelle version, nous vous recommandons d'effectuer l'opération Commit pour envoyer tous les changements locaux au MQL5 Storage.

La mise à jour présentera les changements suivants :

  1. Des projets complets sont maintenant disponibles dans MetaEditor. Le processus de développement du programme est devenu plus pratique.

    Désormais, le fichier principal du programme MQ5 n'apparaît pas comme le projet. Le projet est un fichier "MQPROJ" séparé, qui stocke les paramètres du programme, les paramètres de compilation et les informations sur tous les fichiers utilisés. Les paramètres principaux du projet sont accessibles à partir d'une boîte de dialogue séparée, il n'est donc plus nécessaire de les spécifier dans le code source via #property.

    Un onglet séparé dans le Navigateur est fourni pour faciliter le travail au sein du projet. Tous les fichiers, tels que les fichiers d'inclusion, de ressources, d'en-tête et autres, sont classés en catégories dans cet onglet. Tous les fichiers sont automatiquement ajoutés au navigateur du projet. Par exemple, si vous incluez un nouveau fichier MQH, il apparaîtra automatiquement dans la section "Dépendances" du navigateur.

    La prise en charge de nouveaux projets a également été mise en œuvre dans le dépôt en ligne actualisé de MQL5 Storage. Il est désormais beaucoup plus pratique de développer de grands projets en collaborant avec d'autres membres de la communauté MQL5.

    Une nouvelle section Projets partagés est prévue pour les projets de groupe. Un projet créé dans cette section est immédiatement envoyé dans le stockage : vous pouvez accorder des autorisations à d'autres utilisateurs et commencer la collaboration immédiatement.




    Lorsque vous compilez un projet dans la section Projets partagés, un fichier exécutable EX5 est automatiquement copié dans le répertoire local Experts, Indicateurs ou Scripts, selon le type de programme. Vous pouvez facilement lancer le programme sur un graphique sans avoir à copier les fichiers manuellement.


    Nouveautés dans le fonctionnement de MQL5 Storage

    Pour implémenter le support des nouveaux projets partagés, nous avons modifié le protocole de fonctionnement avec le stockage MQL5. Par conséquent, vous devrez effectuer un checkout de toutes les données du stockage après la mise à jour de la plateforme. Les données stockées dans le stockage MQL5 ne seront pas perdues ou affectées pendant la mise à jour.

    Avant de mettre à jour la plateforme vers la nouvelle version, nous vous recommandons d'effectuer l'opération Commit pour envoyer toutes les modifications locales au MQL5 Storage.

    La commande 'Checkout from Storage' n'est pas disponible maintenant. A la place, les commandes "Activer le stockage MQL5" et "Mettre à jour à partir du stockage" sont utilisées pour recevoir les données :

    • Si vous n'avez pas utilisé le stockage MQL5 dans l'instance actuelle de MetaEditor, cliquez sur 'Activer le stockage MQL5' dans le menu contextuel de la fenêtre du navigateur. Tous les catalogues et fichiers disponibles dans votre stockage seront téléchargés sur votre ordinateur local.
    • Si vous travaillez déjà avec le stockage, cliquez sur 'Update files from Storage' dans le menu contextuel d'un certain projet ou de l'élément MQL5 racine dans la fenêtre du Navigateur pour recevoir les données du stockage.

    Nouveaux projets : Exemples de détails de création et de fonctionnement

    Une nouvelle entité projet a été ajoutée dans MetaEditor. Un projet est un fichier mqproj qui stocke les propriétés communes du programme et les informations sur tous les fichiers utilisés. Maintenant, les propriétés du programme peuvent être gérées de manière pratique à partir d'une boîte de dialogue MetaEditor séparée au lieu de modifier manuellement les propriétés dans le code source (en utilisant les directives #property).

    Si vous avez du code disponible, vous pouvez facilement tester de nouveaux projets en utilisant la commande 'New Project from Source'.




    Dans le répertoire où se trouve le fichier sélectionné, un nouveau fichier projet portant le même nom et l'extension mqproj sera créé. Les principales propriétés du programme spécifiées dans le code source via #property seront automatiquement ajoutées au projet, notamment le nom, le copyright, la version, le lien vers le site du développeur et la description du programme.

    L'ensemble des propriétés du programme dans le fichier de projet a une priorité plus élevée que les propriétés spécifiées dans le code du programme. Si des propriétés sont spécifiées à la fois dans le projet et dans le fichier source, les propriétés du projet seront utilisées.




    Deux nouvelles options pour la compilation des programmes MQL5 ont été ajoutées aux propriétés du projet :

    • Activez l'optimisation supplémentaire : les applications dont l'optimisation est désactivée sont compilées plus rapidement, mais s'exécutent plus lentement.
    • Vérifier les diviseurs en virgule flottante : les applications dont la vérification est désactivée fonctionnent un peu plus rapidement, car l'erreur de division par zéro n'est pas vérifiée pendant l'exécution du code.

    Pour travailler avec les projets, utilisez un onglet Projet séparé dans la fenêtre du Navigateur. Tous les fichiers utilisés dans un projet sont affichés sur cet onglet sous une forme pratique. Lorsqu'un projet est généré à partir d'un fichier source, tous les fichiers include utilisés (spécifiés à l'aide du répertoire #include dans le fichier MQ5 principal et dans ses fichiers include) sont automatiquement ajoutés à la section Dépendances.

    Lorsqu'un nouveau fichier include est ajouté au code source, il apparaît également dans le navigateur du projet. Les fichiers d'en-tête utilisés sont ajoutés à la section En-têtes ; les images, les sons et les autres programmes MQL5 utilisés dans le projet comme ressources sont ajoutés à la section Ressources. Les fichiers MQ5 avec le code source sont affichés dans la section Sources. Dans la section "Paramètres et fichiers", vous pouvez ajouter d'autres fichiers, tels que des fichiers de jeu pour les tests et les modèles de graphiques.

    Utilisez les commandes du menu contextuel pour ajouter des fichiers existants à un projet ou pour en supprimer. Soyez prudent lorsque vous supprimez des fichiers, car vous pouvez retirer un fichier du projet (supprimer la liaison) ou le supprimer complètement du disque dur :




    La création d'un nouveau projet est aussi facile que la création d'un programme MQL5 normal. Cliquez sur 'Nouveau projet', sélectionnez le type de nouveau programme et spécifiez les propriétés (comme le nom, les gestionnaires d'événements, etc.) dans l'assistant MQL5.

    Pour obtenir un fichier EX5 exécutable, vous pouvez ouvrir le projet et appuyer sur F7 (la commande de compilation) ou ouvrir le fichier MQ5 principal du programme et le compiler.


    Projets partagés dans le stockage MQL5 : Détails du fonctionnement

    Les projets partagés sont gérés à partir d'une section séparée Projets partagés. Si vous n'avez pas encore connecté le stockage, exécutez la commande 'Activate MQL5 Storage' à partir du menu contextuel du dossier souhaité. MetaEditor vérifiera si votre stockage contient des données sauvegardées et s'il y a des projets partagés disponibles. Toutes les données disponibles seront extraites du stockage et téléchargées sur votre ordinateur (l'opération de vérification). Les projets de groupe disponibles apparaissent dans la section Projets partagés. Pour récupérer les projets, exécutez "Extraire du stockage" dans le menu contextuel.

    Pour créer un nouveau projet de groupe, sélectionnez le dossier Projets partagés et cliquez sur "Nouveau projet" :




    Effectuez ensuite les étapes standard de MQL5 : définissez le type, le nom et les propriétés du programme souhaité. Pour les projets de groupe, vous devez utiliser des noms clairs et compréhensibles, afin que les autres participants puissent les trouver facilement. Seuls les lettres latines et les chiffres sans espace peuvent être utilisés dans les noms de projets.

    Un objet créé est immédiatement ajouté au stockage MQL5. Les fichiers de la bibliothèque standard utilisés dans le projet ne sont pas ajoutés au stockage, et vous pouvez les ajouter manuellement.

    Pour permettre à d'autres participants de travailler avec le projet, ouvrez ses propriétés. A partir de là, vous pouvez accorder des permissions aux utilisateurs sélectionnés en spécifiant leur login MQL5.community, ainsi que définir des paramètres communs pour le travail de groupe :

    • Projet privé
    • Projet libre d'accès
    • Rejoindre le projet sur demande




    Lorsque vous compilez un projet de groupe, le fichier exécutable EX5 est automatiquement copié dans le répertoire local Experts, Indicateurs ou Scripts, selon le type de programme. Cela vous permet d'exécuter instantanément le programme dans le terminal sans avoir à le copier manuellement dans le répertoire approprié.


    Projets publics dans le domaine du stockage MQL5 : Participation au développement

    Comme mentionné ci-dessus, chaque projet de groupe dans MQL5 Storage a des paramètres de publicité : le projet peut être privé ou ouvert aux autres utilisateurs. Désormais, tous les projets que vous pouvez rejoindre librement sont affichés dans l'onglet séparé "Projets publics".

    Tout le monde peut trouver un projet passionnant et prendre part à son développement. Il suffit de cliquer sur "Rejoindre" pour recevoir le projet du stockage.




    Chaque utilisateur rejoint obtient des droits en lecture seule. Contactez l'auteur du projet pour pouvoir soumettre vos modifications. Pour connaître son login, ouvrez les propriétés du projet via le menu contextuel.

  2. Terminal : La plateforme de trading permet désormais de créer des instruments financiers synthétiques, c'est-à-dire des symboles basés sur un ou plusieurs instruments existants. L'utilisateur doit définir la formule de calcul des cotations, après quoi la plateforme générera les ticks de l'instrument synthétique en temps réel, et créera également son historique de minutes.


    Comment cela fonctionne-t-il ?

    • Vous créez un instrument synthétique et définissez la formule de calcul des cours.
    • La plateforme calcule les ticks à une fréquence de 10 fois par seconde, à condition que le prix d'au moins un des instruments utilisés dans la formule ait changé.
    • La plateforme calcule également l'historique des barres d'une minute (pour les deux derniers mois) sur la base des barres d'une minute des instruments utilisés dans sa formule. Toutes les nouvelles barres (actuelles et suivantes) sont construites en temps réel sur la base des ticks générés de l'instrument synthétique.

    Par exemple, vous pouvez créer un instrument représentant l'indice du dollar (USDX). Il utilise la formule ci-dessous :

    50.14348112 * pow(ask(EURUSD),-0.576) * pow(USDJPY,0.136) * pow(ask(GBPUSD),-0.119) * pow(USDCAD,0.091) * pow(USDSEK,0.042) * pow(USDCHF,0.036)

    Note : les paires USDEUR et USDGBP sont utilisées dans la formule de l'indice dollar source. Comme seules les paires inverses sont disponibles dans la plateforme, une puissance négative et Ask au lieu de Bid sont utilisés dans la formule du symbole synthétique.

    La plateforme calculera en temps réel le prix du nouvel instrument sur la base des cotations des six autres symboles fournis par votre courtier. Les changements de prix seront visualisés dans la fenêtre Market Watch et sur le graphique :




    Créez un nouveau symbole personnalisé, ouvrez sa spécification et entrez la formule :




    Pour plus de commodité, l'éditeur de formules affiche une liste d'options possibles au fur et à mesure que vous tapez les noms des symboles et des fonctions.

    Le calcul des ticks et des barres d'une minute d'un instrument synthétique commence lorsque cet instrument est ajouté à la Market Watch. De même, tous les symboles nécessaires au calcul du prix synthétique sont automatiquement ajoutés au Market Watch. Une entrée concernant le début du calcul sera ajoutée au journal de la plateforme : Symbole synthétique USDX : le traitement a commencé.
    • Le calcul d'un instrument synthétique s'arrête après sa suppression de la Market Watch.
    • Les symboles qui sont actuellement utilisés pour calculer les prix des symboles synthétiques ne peuvent pas être masqués de la Market Watch.

    Calcul en temps réel des cotations
    Toutes les 100 ms (c'est-à-dire dix fois par seconde), les prix des symboles utilisés dans le calcul sont vérifiés. Si au moins l'un d'entre eux a changé, le prix du symbole synthétique est calculé et un nouveau tick est généré. Le calcul est effectué en parallèle dans trois threads pour les prix Bid, Ask et Last. Par exemple, si la formule de calcul est EURUSD*GBPUSD, le prix du symbole synthétique sera calculé comme suit :

    • Bid = bid(EURUSD)*bid(GBPUSD)
    • Ask = ask(EURUSD)*ask(GBPUSD)
    • Dernier = dernier(EURUSD)*dernier(GBPUSD)

    La disponibilité des modifications est vérifiée séparément pour chaque prix. Par exemple, si seul le cours acheteur d'un instrument source a changé, seul le prix approprié d'un instrument synthétique sera calculé.

    Création d'un historique des barres minutes
    En plus de la collecte des ticks en temps réel, la plateforme crée un historique des minutes de l'instrument synthétique. Cela permet aux traders de visualiser des graphiques de symboles synthétiques similaires aux graphiques normaux, ainsi que d'effectuer des analyses techniques en utilisant des objets et des indicateurs.

    Lorsqu'un trader ajoute un instrument synthétique à la Market Watch, la plateforme vérifie si l'historique minute calculé existe. S'il n'existe pas, l'historique des 60 derniers jours sera créé, ce qui comprend environ 50 000 barres. Si une valeur inférieure est spécifiée dans le paramètre 'Max. bars in chart' dans les paramètres de la plateforme, la restriction appropriée s'appliquera.

    Si certaines des barres de cette période ont déjà été créées, la plateforme génère en plus de nouvelles barres. Un historique plus profond est créé si l'utilisateur tente de visualiser une période plus ancienne sur le graphique (en le faisant défiler en arrière ou en y accédant depuis un programme MQL5).

    L'historique des barres d'une minute d'un instrument synthétique est calculé sur la base des barres d'une minute (et non des ticks) des instruments utilisés dans sa formule. Par exemple, pour calculer le prix Open d'une barre d'une minute d'un symbole synthétique, la plateforme utilise les prix Open des symboles utilisés dans sa formule. Les prix High, Low et Close sont calculés de manière similaire.

    Si la barre requise n'est pas disponible pour l'un des instruments, la plateforme utilisera le prix de clôture de la barre précédente. Par exemple, trois instruments sont utilisés : EURUSD, USDJPY et GBPUSD. Si dans le calcul d'une barre correspondant à 12:00 la barre requise de USDJPY n'est pas disponible, les prix suivants seront utilisés pour le calcul :

    • Ouverture : EURUSD ouvert 12:00, USDJPY fermé 11:59, GBPUSD ouvert 12:00
    • Haut : Haut EURUSD 12:00, Clôture USDJPY 11:59, Haut GBPUSD 12:00
    • Bas : EURUSD Bas 12:00, USDJPY Clôture 11:59, GBPUSD Bas 12:00
    • Fermer : EURUSD clôture 12:00, USDJPY clôture 11:59, GBPUSD clôture 12:00

    Si la barre minute n'est pas disponible pour tous les instruments utilisés dans la formule, la barre minute appropriée de l'instrument synthétique ne sera pas calculée.

    Tracer de nouvelles barres minutes
    Toutes les nouvelles barres (actuelles et suivantes) de l'instrument synthétique sont créées sur la base des ticks générés. Le prix utilisé pour construire les barres dépend de la valeur du paramètre Chart Mode dans la spécification :





    Quelles opérations peuvent être utilisées dans la formule de symbole
    Les données de prix et certaines propriétés des symboles existants fournies par le courtier peuvent être utilisées pour calculer les prix synthétiques. Spécifiez les éléments suivants :

    • Nom du symbole - selon le prix synthétique à calculer, le Bid, Ask ou Last de l'instrument spécifié sera utilisé. Par exemple, si EURUSD*GBPUSD est spécifié, Bid est calculé comme bid(EURUSD)*bid(GBPUSD), et Ask = ask(EURUSD)*ask(GBPUSD).
    • bid(nom du symbole) - le cours acheteur du symbole spécifié sera obligatoirement utilisé pour calculer le cours acheteur de l'instrument synthétique. Cette option est similaire à la précédente (lorsque le type de prix n'est pas spécifié).
    • ask(nom du symbole) - le cours vendeur du symbole spécifié sera utilisé pour calculer le cours acheteur de l'instrument synthétique. Le prix Bid de l'instrument spécifié sera utilisé pour calculer le Ask. Le dernier prix du symbole spécifié sera utilisé pour calculer le dernier prix. Si ask(EURUSD)*GBPUSD est spécifié, le calcul suivant sera utilisé :
      • Вid = ask(EURUSD)*bid(GBPUSD)
      • Ask = bid(EURUSD)*ask(GBPUSD)
      • Last = last(EURUSD)*last(GBPUSD)
    • last(nom du symbole) - le dernier prix du symbole spécifié sera utilisé dans le calcul de tous les prix de l'instrument synthétique (Bid, Ask et Last). Si last(EURUSD)*GBPUSD est spécifié, le calcul suivant sera utilisé :
      • Вid = last(EURUSD)*bid(GBPUSD)
      • Ask = last(EURUSD)*ask(GBPUSD)
      • Last = last(EURUSD)*last(GBPUSD)
    • volume(nom du symbole) - le volume en ticks de l'instrument spécifié sera utilisé dans la formule. Assurez-vous que les informations sur le volume sont fournies par le courtier pour ce symbole.
    • point(nom du symbole) - le changement de prix minimum de l'instrument spécifié sera utilisé dans les calculs.
    • digits(nom du symbole) - le nombre de décimales du prix du symbole spécifié sera utilisé dans la formule.

    Si un symbole a un nom complexe (contient des traits d'union, des points, etc.), il doit être écrit entre guillemets. Exemple : "RTS-6.17".
    Les opérations arithmétiques suivantes peuvent être utilisées dans la formule : addition (+), soustraction (-), multiplication (*), division (/) et reste de la division (%). Par exemple, EURUSD+GBPUSD signifie que le prix est calculé comme la somme des prix EURUSD et GBPUSD. Vous pouvez également utiliser le signe unaire moins pour modifier le signe, par exemple : -10*EURUSD.

    Tenez compte de la priorité de calcul des opérations arithmétiques :

    • Les opérations de multiplication, de division et de reste sont effectuées en premier ; ensuite, les opérations d'addition et de soustraction sont effectuées.
    • Les opérations sont effectuées de gauche à droite. Si la formule utilise plusieurs opérations qui ont la même priorité (par exemple, multiplication et division), l'opération de gauche sera effectuée en premier.
    • Vous pouvez utiliser des parenthèses ( et ) pour modifier la priorité des opérations. Les opérations entre parenthèses ont la priorité la plus élevée dans le calcul. Le principe de gauche à droite s'applique également pour elles : les opérations entre parenthèses à gauche sont calculées en premier.

    Vous pouvez utiliser des constantes dans la formule :

    • Numériques (entiers et flottants). Exemple : EURUSD*2+GBPUSD*0,7.
    • Propriétés des symboles _Digits et _Point. Elles ajoutent à la formule les propriétés appropriées du symbole personnalisé de la spécification. _Digits signifie le nombre de décimales du prix de l'instrument ; _Point signifie la plus petite variation du prix du symbole.

    Vous pouvez également utiliser dans la formule toutes les fonctions mathématiques supportées dans MQL5, à l'exception de MathSrand, MathRand et MathIsValidNumber : Seuls les noms courts sont utilisés pour toutes les fonctions, comme fabs(), acos(), asin() etc.

  3. Terminal : Une nouvelle option a été implémentée, permettant d'ajouter des cotations d'instruments personnalisés en temps réel. Maintenant, il est possible de développer un Expert Advisor MQL5 qui alimenterait les cotations du symbole personnalisé spécifié. La fonction CustomTicksAdd est utilisée pour cela.
    int  CustomTicksAdd(
       const string           symbol,       // Symbol name
       const MqlTick&         ticks[]       // The array with tick data that should be applied to the custom symbol
       );
    La fonction CustomTicksAdd permet d'alimenter les cours comme si ces cours étaient reçus du serveur d'un courtier. Les données sont envoyées à la fenêtre Market Watch au lieu d'être écrites directement dans la base de données des tick. Ensuite, le terminal enregistre les ticks de la fenêtre Market Watch dans la base de données. Si un grand volume de données est transmis en un seul appel, le comportement de la fonction change, afin d'économiser les ressources. Si plus de 256 ticks sont transmis, les données sont divisées en deux parties. Une partie plus importante est enregistrée directement dans la base de données des ticks (similaire à CustomTicksReplace). La seconde partie, composée des 128 derniers ticks, est envoyée au Market Watch, d'où le terminal enregistre les ticks dans une base de données.

  4. MQL5 : Un nouveau service en ligne MQL5 Cloud Protector a été ajouté pour fournir une protection supplémentaire aux programmes MQL5. La protection est similaire à l'option utilisée dans le plus grand magasin d'applications de trading MetaTrader Market, où les fichiers de produits EX5 soumis par les vendeurs sont en plus compilés en code natif.

    Désormais, ce type de protection est disponible pour tous les utilisateurs de la plateforme. Pour protéger vos fichiers, exécutez la commande suivante dans MetaEditor : Outils-MQL5 Cloud Protector. La seule différence du MQL5 Cloud Protector par rapport au mécanisme utilisé sur le marché, est que le fichier n'est pas lié à l'ordinateur de l'utilisateur. Les fichiers protégés par MQL5 Cloud Protector peuvent être exécutés sur n'importe quel ordinateur, tout comme les fichiers EX5 courants.
    MQL5 Cloud Protector est un service sécurisé. Une protection supplémentaire est uniquement appliquée à un fichier compilé. Le code source n'est pas transmis au service. À la première étape, un programme est compilé en un fichier EX5 sur l'ordinateur de l'utilisateur ; ensuite, le fichier compilé est envoyé par un canal crypté au service, où il est protégé et renvoyé à l'utilisateur.



  5. Terminal : La fenêtre de surveillance du marché présente désormais en plus les prix High et Low. Ces colonnes sont masquées par défaut. Elles peuvent être activées à l'aide du menu contextuel :




    Si le graphique d'un symbole est construit en utilisant les prix d'offre (selon les paramètres de spécification), les prix d'offre haut et bas sont affichés pour ce symbole. Si un graphique de symbole est construit en utilisant les derniers prix, les derniers prix hauts et bas sont affichés pour ce symbole.

    Si Market Watch contient au moins un symbole dont le graphique est construit sur la base des derniers prix, la colonne Dernier est automatiquement activée en plus de Haut/Bas.

  6. Terminal : Il est désormais possible de modifier l'historique des ticks des instruments financiers personnalisés. Cliquez sur 'Symboles' dans le menu contextuel de Market Watch, sélectionnez un symbole personnalisé et demandez l'intervalle de données requis dans l'onglet Ticks.

    • Double-tapez pour modifier la valeur.
    • Utilisez le menu contextuel pour ajouter ou supprimer des entrées.
    • Si vous devez supprimer plusieurs barres/ticks à la fois, sélectionnez-les avec la souris, en maintenant la touche Shift ou Ctrl+Shift enfoncée.




    Pour plus de commodité, les entrées modifiées sont mises en évidence comme suit :

    • Le fond vert indique une entrée modifiée
    • Le fond gris indique une entrée supprimée
    • Le fond jaune indique une entrée ajoutée

    Pour enregistrer les modifications, cliquez sur "Appliquer les modifications" au bas de la fenêtre.

  7. Terminal : Ajout de l'affichage des comptes préliminaires dans l'arbre du Navigateur.

    Les traders peuvent envoyer une demande à un courtier pour ouvrir un compte réel directement à partir des terminaux de bureau. L'utilisateur doit remplir un formulaire de demande simple avec ses coordonnées. Un compte préliminaire spécial est ensuite créé pour le trader. Ensuite, le courtier contacte le trader pour formaliser les relations et transformer le compte préliminaire en compte réel.




  8. Terminal : Ajout de l'affichage du temps en millisecondes dans la fenêtre des cotations.





  9. Terminal : Le balayage des serveurs disponibles dans la boîte de dialogue d'ouverture d'un nouveau compte est devenu plus rapide.
  10. Terminal : Correction de l'affichage de l'objet graphique Ligne de tendance lorsque les options Rayon gauche et Rayon droit sont activées.
  11. Terminal : Optimisation du fonctionnement avec une grande quantité d'e-mails internes (des centaines de milliers).
  12. Terminal : Optimisation du fonctionnement du terminal avec un grand nombre d'instruments de trading (50 000 ou plus).
  13. Terminal : Ajout de l'optimisation de l'historique des ticks des instruments financiers personnalisés exécutés après l'édition de l'historique.
  14. MQL5 : De nouvelles fonctions pour travailler avec des instruments financiers personnalisés ont été ajoutées.

    Fonction Action
    CustomSymbolCreate Créer un symbole personnalisé avec le nom spécifié dans le groupe spécifié.
    CustomSymbolDelete Supprime un symbole personnalisé avec le nom spécifié
    CustomSymbolSetInteger Définit la valeur de la propriété de type entier pour un symbole personnalisé.
    CustomSymbolSetDouble Définir la valeur de la propriété de type réel pour un symbole personnalisé
    CustomSymbolSetString Définit la valeur de la propriété de type chaîne de caractères pour un symbole personnalisé.
    CustomSymbolSetMarginRate Définit les taux de marge en fonction du type d'ordre et de la direction pour un symbole personnalisé.
    CustomSymbolSetSessionQuote Définit l'heure de début et de fin de la session de cotation spécifiée pour le symbole et le jour de la semaine spécifiés.
    CustomSymbolSetSessionTrade Définit l'heure de début et de fin de la session de négociation spécifiée pour le symbole et le jour de la semaine spécifiés.
    CustomRatesDelete Supprime toutes les barres de l'historique des cours du symbole personnalisé dans l'intervalle de temps spécifié.
    CustomRatesReplace Remplace entièrement l'historique des prix du symbole personnalisé dans l'intervalle de temps spécifié avec les données du tableau de type MqlRates.
    CustomRatesUpdate Ajoute les barres manquantes à l'historique du symbole personnalisé et remplace les données existantes par celles du tableau de type MqlRates.
    CustomTicksAdd Ajoute les données d'un tableau de type MqlTick à l'historique des prix d'un symbole personnalisé. Le symbole personnalisé doit être sélectionné dans la fenêtre Market Watch.
    CustomTicksDelete Supprime tous les ticks de l'historique des prix du symbole personnalisé dans l'intervalle de temps spécifié.
    CustomTicksReplace Remplace entièrement l'historique des prix du symbole personnalisé dans l'intervalle de temps spécifié avec les données du tableau de type MqlTick.

  15. MQL5 : Ajout de collections de données génériques à la bibliothèque standard. Elles contiennent des classes et des interfaces pour définir des collections basées sur des modèles. Les nouvelles collections fortement typées offrent une plus grande commodité de développement d'application et une haute performance de traitement de données.

    La bibliothèque est placée dans le dossier Include\Generic du répertoire de travail du terminal.

  16. MQL5 : Ajout de la prise en charge des modèles pour le type de données union.
  17. MQL5 : La propriété d'instrument de trading SYMBOL_VISIBLE a été ajoutée. L'appel de SymbolInfoInteger(symbol, SYMBOL_VISIBLE) retourne false si le symbole spécifié n'est pas visible dans le Market Watch.
  18. MQL5 : Ajout de la nouvelle propriété CHARTEVENT_MOUSE_WHEEL. L'événement est appelé lorsque la molette de la souris défile ou est pressée sur le graphique (si CHART_EVENT_MOUSE_WHEEL=true pour le graphique).
  19. MQL5 : Les propriétés de graphique suivantes ont été ajoutées :

    • CHART_EVENT_MOUSE_WHEEL - active/désactive la génération du CHARTEVENT_MOUSE_WHEEL (événement de défilement et de clic de la souris sur le graphique). Valeurs possibles : 0 et 1.
    • CHART_CROSSHAIR_TOOL - active/désactive la possibilité de basculer le curseur en mode Crosshair par un clic central. Valeurs possibles : 0 et 1.
    • CHART_CONTEXT_MENU - active/désactive l'utilisation du clic droit pour afficher le menu contextuel du graphique. Valeurs possibles : 0 et 1.

  20. MQL5 : Désormais, les tampons de dessin avec le style DRAW_NONE ne sont pas pris en compte lors du calcul de l'échelle de la fenêtre de l'indicateur.
  21. MQL5 : Ajout de la génération de l'événement CHARTEVENT_CHART_CHANGE lors de la définition de la propriété CHART_SCALEFIX (échelle fixe) pour le graphique.
  22. MQL5 : La fonction ArraySwap a été ajoutée, permettant de permuter rapidement le contenu des tableaux dynamiques.
    bool  ArraySwap(
       void&  array1[],      // The first array
       void&  array2[]       // The second array
       );
    La fonction accepte les tableaux dynamiques de même type et de mêmes dimensions. Pour les tableaux multidimensionnels, le nombre d'éléments dans toutes les dimensions, sauf la première, doit correspondre.

  23. MQL5 : Ajout de la nouvelle propriété TERMINAL_RETRANSMISSION - pourcentage de paquets réseau renvoyés(re-transmissions) dans le protocole TCP/IP pour toutes les applications et services en cours d'exécution sur l'ordinateur donné. La perte de paquets se produit même dans les réseaux les plus rapides et correctement configurés. Dans ce cas, il n'y a pas de confirmation de la livraison des paquets entre le destinataire et l'expéditeur. Par conséquent, les paquets perdus sont renvoyés.

    Le terminal ne calcule pas cette valeur. Elle est demandée au système d'exploitation une fois par minute. Elle n'est pas une indication de la qualité de la connexion entre un terminal particulier et un serveur commercial, puisque le pourcentage est calculé pour l'ensemble de l'activité du réseau, y compris l'activité du système et de l'arrière-plan.

    La propriété TERMINAL_RETRANSMISSION est ajoutée à l'énumération ENUM_TERMINAL_INFO_DOUBLE, la fonction TerminalInfoDouble est utilisée pour l'obtenir.
  24. MQL5 : Optimisation du travail avec l'historique des transactions.
  25. Signaux : Indication fixe du type de remplissage de l'ordre en cas de fermeture forcée de positions ouvertes en fonction d'un Signal. L'option 'Stop si le compte est inférieur à XXX USD' est fournie dans les options de copie de signaux : si l'équité tombe en dessous d'un niveau spécifié, la copie des signaux commerciaux est automatiquement terminée, toutes les positions sont fermées. Auparavant, un type de remplissage incorrect pouvait être défini pour les ordres de fermeture de position en cas de fermeture forcée. Désormais, le terminal vérifie les types de remplissage autorisés dans les paramètres des symboles et indique une option appropriée.
  26. Testeur : Le comportement de la fonction HistoryOrderSelect dans le testeur de stratégie correspond désormais à la même fonction dans le terminal client.
  27. Tester : Le comportement des fonctions CopyTicks et CopyTicksRange dans le testeur de stratégie correspond maintenant aux mêmes fonctions dans le terminal client.
  28. Testeur : Optimisation de l'affichage des objets graphiques lors des tests visuels.
  29. Testeur : Correction de l'affichage des résultats des tests des instruments de change (avec le modèle de gestion du risque de change). Désormais, le graphique ne montre que l'équité, tandis que le solde et la charge du dépôt ne sont pas affichés. Le statut commercial de ces comptes est évalué sur la base du niveau d'équité. Le solde indique uniquement le montant d'argent sur le compte et ne tient pas compte de l'actif et du passif du trader. La charge du dépôt (marge/équité) n'est pas affichée, car dans le mode de calcul de l'échange, la marge est égale à la valeur actualisée actuelle de l'actif/du passif, et elle change en même temps que l'équité.
  30. MetaEditor : Ajout de la possibilité d'insérer facilement des propriétés et des ressources dans le code du programme. Par exemple, vous pouvez rapidement ajouter un fichier inclus au code. Utilisez la commande "Insert-MQH as #incude", et sélectionnez le fichier inclus souhaité. La directive #include avec le chemin d'accès approprié au fichier sélectionné sera insérée dans le code du programme.




    Le même menu permet d'ajouter au code du programme des fichiers sous forme de tableau binaire ou de texte. Entre autres, vous pouvez transférer des modèles de graphiques avec des Expert Advisors ou des indicateurs : insérez votre modèle dans le code du programme sous forme de tableau, et enregistrez-le sur le disque en utilisant la fonction FileSave. Ensuite, le modèle peut être appliqué sur le graphique souhaité directement depuis un Expert Advisor en utilisant la fonction ChartApplyTemplate.
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
    //--- Template file as a binary array
       unsigned char my_template[]=
         {
          0xFF,0xFE,0x3C, ... ,0x00 // The data array in this example is shortened
         };
    //--- Saving and applying the template
       if(FileSave("my_template.tpl",my_template))
         {
          Print("Custom template saved in \\MQL5\\Files");
          if(ChartApplyTemplate(0,"\\Files\\my_template.tpl"))
             Print("Custom template applied to the current chart");
          else
             Print("Failed to apply custom template");
         }
       else
          Print("Failed to save custom template");
      }

  31. MetaEditor : Ajout d'une option pour convertir les chaînes de caractères entre les formats ASCII, HEX et Base64. Sélectionnez une ligne dans le code source et cliquez sur la commande souhaitée dans le menu Edit-Convert :




  32. MetaEditor : Correction de la recherche insensible à la casse dans les fichiers.
  33. MetaEditor : Correction d'une erreur de débogage qui pouvait survenir lors du calcul d'expressions similaires à x.y[0][1].z.
  34. MetaEditor : Correction de la navigation dans le code à l'aide des boutons "Forward" et "Back".
  35. L'interface utilisateur est désormais disponible en néerlandais.
  36. Mise à jour de la documentation.

La mise à jour sera disponible via le système Live Update.


 

Il n'y a aucune raison de ne pas le faire. Il n'y a aucune raison de ne pas le faire. Il n'y a aucune raison de ne pas le faire.

Обсудим совместные проекты в редакторе - зачем они и куда движутся

Renat Fatkhullin, 2017.12.28 16:51

J'ai complètement oublié - nous sortons un nouveau système de communication pour la communication en janvier.

Il s'agit d'un analogue du Telegram, comprenant des canaux et des groupes (publics et privés).

Il sera possible de lancer des groupes thématiques, y compris des groupes payants.

Par exemple, distribuer le contenu anallytique par abonnement. L'accent est mis sur l'échange de données à partir de terminaux. Il sera ainsi beaucoup plus rapide et pratique d'échanger des graphiques, des profils, des paramètres, des programmes, etc.

 
Sergey Golubev:
M. Sergey, ne pensez-vous pas que cela va créer beaucoup de séparation et d'isolement pour les connaissances gratuites sur le forum. Parce que maintenant les gens devront s'abonner afin d'obtenir des connaissances !
 

En ce qui concerne MT5, il est maintenant robuste et prometteur. J'ai l'intention de migrer vers MT5 l'année prochaine. J'aimerais poser une question concernant la "formule synthétique et le symbole personnalisé", disons que mon courtier ne fournit pas le symbole personnalisé que j'ai choisi de créer, puis-je ouvrir des transactions sur ces symboles et faire des profits/pertes et seront-ils ajoutés/déduits à mon solde ?

 

Création d'un flux d'actualités personnalisé pour MetaTrader 5


MetaTrader 5 dispose de nombreuses fonctionnalités utiles dont un trader a besoin, quel que soit son style de trading, notamment un accès possible à un flux d'actualités en direct. Il fournit aux traders un contexte inestimable qui peut avoir un certain effet sur les marchés. La seule limite est l'étendue des informations fournies. Je pense que les traders pourraient bénéficier d'un accès à un flux d'informations plus flexible qui leur permettrait de choisir non seulement le type d'informations mais aussi leur source.