Sunday, March 12, 2017

Mt4 Instaforex Code À 5 Chiffres

Im essayant actuellement de trouver la manière la plus infaillible de détecter si nous avons besoin de 1 ou 10 comme multiplicateur de pip. Ce qui précède a été ma première idée, en regardant simplement combien de chiffres l'EURUSD a. Il ya des courtiers où ce symbole est appelé EURUSDm ou EURUSDiam ou d'autres bêtises drôle ajouté par les courtiers sans autre raison que de briser notre code et aussi il ya des noms de symboles qui n'ont pas exactement 6 caractères, comme GOLD ou GOLDm par exemple et le ci dessus peut NE PAS gérer cela. Est ce que quelqu'un a un algorithme encore plus sophistiqué pour trouver les bons chiffres, je pense que tout cela résume le problème de trouver d'abord comment exactement le nom du symbole de EURUSD est et puis le reste est facile. Est il par exemple un moyen facile d'énumérer tous les symboles disponibles afin que je puisse rechercher un nom qui contient ou commence avec quotEURUSDquot Habituellement, je le vérifier une seule fois dans la section init: Généralement je le vérifier une seule fois dans la section init: Votre code n'est pas infaillible , Il ya des symboles avec 1 ou 2 (or) ou d'autres nombres de chiffres. J'ai trouvé une meilleure façon (encore besoin de le tester avec quelques courtiers plus). Il lit symbols. raw dans le dossier d'histoire pour trouver le nom d'eurusd et puis employer MarketInfo () C'était un code pour une devise seulement. Si vous souhaitez utiliser votre EA pour plusieurs devises, vous devez le calculer pour chaque cas séparément. 7bit: J'ai trouvé une meilleure façon (encore besoin de le tester avec quelques courtiers plus). Il lit symbols. raw dans le dossier d'histoire pour trouver le nom d'eurusd et ensuite utiliser MarketInfo () Cela casserait si jamais ils changent le fichier symbols. raw (et pourrait ne pas fonctionner avec les anciennes versions de MT4. Bien que ce n'est probablement pas un problème ). J'utilise une méthode la même que Rogers et il n'a pas causé un problème pour le moment. Il travaille pour la plupart des éventualités. Si vous en trouvez un qui ne convient pas à l'avenir, puis juste traverser ce pont quand vous le trouvez. WHRoeder: Vous répétez simplement la même chose que j'ai déjà trouvée insuffisante. L'utilisation de la variable Digits à elle seule ne contribue pas au problème (le problème étant défini dans le premier envoi) car il ne prend pas en compte le symbole sur lequel il est actuellement en cours d'exécution et le nombre de chiffres qu'il doit avoir. Il peut y avoir n'importe quelle quantité de chiffres de 0 à 5 sur certaines paires exotiques, non seulement 5 ou 3 vs 4 ou 2. Si c'était si simple que je n'avais pas ouvert ce fil. Par conséquent, je suis maintenant en utilisant les chiffres de eurusd, peu importe sur quelle paire il s'exécute. Trouver le nom réel d'eurusd était le plus gros problème, et jusqu'à présent, la méthode symbols. raw semble être la plus simple et la plus fiable. Cloudbreaker: Si vous en trouvez un qui ne va pas dans le futur, alors il suffit de traverser ce pont quand vous le trouvez. J'essaie d'écrire le code infaillible qui ne cassera pas. Ecrire (sciemment) le code buggy et attendre qu'il se brise avant que je le corrige ne correspond pas à ma philosophie de la façon dont le développement logiciel doit être fait. 7bit a écrit gtgt J'essaie d'écrire le code infaillible qui ne cassera pas. Ecrire (sciemment) le code buggy et attendre qu'il se brise avant que je le corrige ne correspond pas à ma philosophie de la façon dont le développement logiciel doit être fait. Je ne dirais pas que le code ci dessus était buggy il a simplement. Limités, dont les utilisateurs sont bien conscients La beauté de la philosophie est qu'il peut fonctionner de façon asynchrone avec la fonctionnalité :) BB N'est il pas juste un simple (peut être pas si simple en termes mathématiques) la question de savoir ce qu'un point est relatif à Un prix donné et ensuite décider quel chiffre il est en comparaison avec les chiffres du prix Une façon simple de réaliser cela pourrait être prendre un prix ajouter un point et de le comparer à votre prix multipliersame si votre résultat n'est pas le même augmenter votre mutiplier en Une boucle jusqu'à ce qu'ils match. Forex Blog 6 chiffres devises Forex et MetaTrader Expert Advisors 19 mars 2008 par Andriy Moraru De nombreux courtiers Forex ont commencé à offrir des devis à 6 chiffres Forex via le terminal MetaTrader 4 récemment. Il a beaucoup d'avantages pour les commerçants de scalper et ouvre beaucoup de nouvelles possibilités commerciales pour d'autres. Mais il semble y avoir un problème avec presque tous les conseillers experts qui sont appliqués à la plate forme MetaTrader 4, qui utilise des devis à 6 chiffres Forex au lieu du format plus traditionnel à 5 ​​chiffres. Comme les conseillers les plus experts utilisent la variable quotPointquot pour pips dénommer stop loss et take profit, il ya deux problèmes majeurs avec les citations de 6 chiffres. Tout d'abord, les deux valeurs stop loss et take profit ont de très fortes chances de se rapprocher du prix pair146s et MT4 va générer une erreur 130, si elles sont à fermer. Deuxièmement, toute la stratégie intégrée dans l'EA donnée cessera de fonctionner correctement, car tous les profits et les pertes seront probablement divisés par 10. Lisez l'exemple suivant. Avec un taux de cotation de 5 chiffres EURUSD est 1.5703 et un point dans MetaTrader 4 est 0.0001 151 un pip classique pour la paire EURUSD. Notre conseiller expert achète EURUSD, fixant stop loss à 20 pips 151 1.5683, et profite à 40 pips 151 1.5743. Tout va bien et nous gagnons 40 pips lorsque le taux atteint 1,5743. Mais pour une citation de 6 chiffres les choses sont complètement différentes. Par exemple. Le taux ci dessus aurait pu être 1.57032 et un point dans votre MT4 aurait été 0.00001 151 dix fois moins que le pip classique pour EURUSD. Le même expert conseil aurait fixé le stop loss à 1,57012 et le profit à 1,57072. Non seulement 99 des courtiers n'autoriseraient pas un pareil arrêt, mais si elle était acceptée, cette position ne serait pas très rationnelle et bien sûr elle ne serait pas conforme aux règles de stratégie initiales. Alors, comment corriger ce problème sans complètement réécrire le conseiller expert et, bien sûr, sans changer un courtier (à un avec les citations de 5 chiffres) Tout d'abord, I146d voudrais vous dire que tous les conseillers experts MetaTrader qui sont présentés sur mon site ont été Déjà modifié pour fonctionner à la fois avec 5 et 6 devis chiffres. Deuxièmement, voici comment faire pour que toute EA fonctionne correctement avec des guillemets de 6 chiffres: Ouvrez le. mq4 du conseiller expert que vous souhaitez modifier dans MQL Editor. Ajouter une nouvelle déclaration de variable globale (elle doit être au début du code, avec d'autres déclarations de variable): double Pointe Ajoutez le code suivant à la fonction init () de l'EA. Cette fonction est habituellement présente dans tous les EA (elle contient diverses routines d'initialisation), mais si elle n'est pas là, créez la et incluez ce code: Vérification des numéros ponctuels non conventionnels si (Point 0.00001) Pointe 0.0001 6 chiffres else if (Point 0.001) Poin 0.01 3 chiffres (pour les paires en Yen) else Poin Point Normal Remplacez toutes les autres occurrences de quotPoint132 dans le code par 147Poin132 (sauf celles dans la fonction init ()). Cela va changer la variable MT4 du système 147Point132 à notre variable déclarée 147Poinquot, qui contient maintenant la valeur standard de pip de 5 chiffres. C'est tout. Compilez le et vous êtes prêt à l'exécuter sur les citations de 6 chiffres dans MetaTrader. Bien sûr, il fonctionnera toujours avec des citations de 5 chiffres standard aussi. Related Posts: 7 Responses to 82206 Digit Forex Quotes et MetaTrader Expert Advisors8221 Pouvez vous s'il vous plaît me contacter pour résoudre un problème avec cette erreur. J'ai fait ce que vous postez ici, mais je ne reçois pas de résultats, peut être je ne le fais pas bien. Jose, quel est ton problème Hey merci, gentil et rapide. Le premier et le seul tutoriel à ce sujet quand j'ai googled8230Thanks vous. Alex. Merci pour cette Andrei, quand je l'installe dans mon EA, je reçois la liste des erreurs suivantes lorsque je le compile: 8216if8217 8211 semicolon prévu C: Program FilesMetaTrader 4expertsindicatorsVegas Devise 60 Min Test. mq4 (39, 1) Ceci est pour la première instance De 8220if8221 dans la fonction init () Et puis je l'obtenir pour l'expression 8216double Poin8217: 8216Poin8217 8211 expression sur la portée globale non autorisée C: Program FilesMetaTrader 4expertsindicatorsVegas Devise 60 Min Test. mq4 (39, 23) Lorsque j'essaie de charger cet indicateur De toute façon, il ne s'affiche plus comme un indicateur personnalisé à charger sur un graphique, en raison des erreurs I8217m deviner. Tous les aperçus sont appréciés, j'ai corrigé le problème après un petit diagnostic, merci Andrei pour l'affichage de cette, j'ai été coincé pendant un certain temps sur cette question. J'ai un problème, j'ai un expert qu'il travaille dans la plate forme MT4 avec 5 chiffres bien. Mais après qu'il ne fonctionne pas avec 6 chiffres et tout le temps il envoie erreur no: 136. Je n'ai pas utilisé point dans la source du programme et je utilise Ask and Bid pour ouvrir et l'ordre. Quand j'ai lu demander et bit via Alert commande j'ai trouvé qu'il était de 5 chiffres et je ne sais pas pourquoi le prix n'était pas 6 chiffres. Voulez vous s'il vous plaît m'aider à résoudre ce problème Erreur 136 signifie qu'il n'ya pas de prix fournis par le courtier. Essayez de redémarrer votre plate forme. Essayez également d'ajouter RefreshRates () avant d'obtenir Ask et Bid dans votre code. Laisser une réponse


No comments:

Post a Comment