Mon compte
Déjà membre ? S'identifier
Non inscrit ? S'inscrire
 
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Membre Star louprebel is just really nice louprebel is just really nice louprebel is just really nice louprebel is just really nice Avatar de louprebel
    Date d'inscription
    February 2009
    Messages
    1 065
    Pouvoir de réputation
    42

    Adapter un EA ou indicateur à tout les brokers Adapter un EA ou indicateur à tout les brokers

    Bonjour,

    Je viens de découvrir une façon beaucoup plus simple et élégante que celle répandue sur ce forum pour rendre 100% compatible à tout les brokers un indicateur, ou un EA.

    L'astuce est dans la fonction MarketInfo() :
    Code:
    double MyPoint = MarketInfo(Symbol(),MODE_POINT);
    int Dg = MarketInfo(Symbol(),MODE_DIGITS);
    Après ça, il faut remplacer toute les occurrences de "Point" par "MyPoint", et toutes les occurrences de "Digits" par "Dg".

    Ces 2 lignes couvrent plus de 90% de ce qui peut poser problème si l'indicateur ou l'EA n'a été codé à l'origine que pour le 4 décimales.

    D'une façon générale, la fonction MarketInfo() recèle une mine de ressources, trop peu exploitées par les programmeurs amateurs (dont je fais partie )
    Cordialement,
    Loup
    --------------------------------------------------------------------------------------
    Gestion des trades : EA Trade Management, par Tanaïs et Loup REBEL
    ----------------------- Indicateur de Money Management
    Chandelier Multi TF : Graphique multi Chandeliers Multi Time Frame

  2. #2
    Membre Star vamm972 est actif et passionnant vamm972 est actif et passionnant Avatar de vamm972
    Date d'inscription
    November 2008
    Localisation
    quebec
    Messages
    1 429
    Pouvoir de réputation
    24

    Citation Envoyé par louprebel Voir le message
    Bonjour,

    Je viens de découvrir une façon beaucoup plus simple et élégante que celle répandue sur ce forum pour rendre 100% compatible à tout les brokers un indicateur, ou un EA.

    L'astuce est dans la fonction MarketInfo() :
    Code:
    double MyPoint = MarketInfo(Symbol(),MODE_POINT);
    int Dg = MarketInfo(Symbol(),MODE_DIGITS);
    Après ça, il faut remplacer toute les occurrences de "Point" par "MyPoint", et toutes les occurrences de "Digits" par "Dg".

    Ces 2 lignes couvrent plus de 90% de ce qui peut poser problème si l'indicateur ou l'EA n'a été codé à l'origine que pour le 4 décimales.

    D'une façon générale, la fonction MarketInfo() recèle une mine de ressources, trop peu exploitées par les programmeurs amateurs (dont je fais partie )
    merci beaucoup loup

  3. #3
    Membre Star louprebel is just really nice louprebel is just really nice louprebel is just really nice louprebel is just really nice Avatar de louprebel
    Date d'inscription
    February 2009
    Messages
    1 065
    Pouvoir de réputation
    42

    Bonjour,

    Bon, désolé, mais je n'étais pas dans mon assiette quand j'ai posté ça :
    Citation Envoyé par louprebel Voir le message
    Code:
    double MyPoint = MarketInfo(Symbol(),MODE_POINT);
    int Dg = MarketInfo(Symbol(),MODE_DIGITS);
    Après ça, il faut remplacer toutes les occurrences de "Point" par "MyPoint", et toutes les occurrences de "Digits" par "Dg".
    En tout cas, ça veux dire que pas grand monde lit ce genre de conseil

    Je donne quand même le code complet pour l'adaptation au 5 décimales :

    Code:
    double MyPoint;
    //+------------------------------------------------------------------+
    //| Custom indicator initialisation                                  |
    //+------------------------------------------------------------------+
    int init()
      {
        if (Digits == 5 || Digits == 3) 
       {
          MyPoint = Point*10;
          Dg = Digits - 1;
       }
       else 
       {
          MyPoint = Point;
          Dg = Digits;
       }
    Pour la suite, sans changement :

    Remplacer toutes les occurrences de "Point" par "MyPoint", et toutes les occurrences de "Digits" par "Dg".

    Cordialement,
    Loup
    --------------------------------------------------------------------------------------
    Gestion des trades : EA Trade Management, par Tanaïs et Loup REBEL
    ----------------------- Indicateur de Money Management
    Chandelier Multi TF : Graphique multi Chandeliers Multi Time Frame

  4. #4
    Membre lvl 5 JYVES35 est sur la route de la réputation...
    Date d'inscription
    October 2009
    Messages
    11
    Pouvoir de réputation
    5

    Bonjour,

    j'utilise ce système que j'avais déjà trouvé sur un des forums du site et çà fonctionne très bien.

    Pour info, l'utilisation de MarketInfo dans les OrderClose permet d'éviter pas mal de problèmes d'erreur 129 à la clôture (pour une raison que je n'ai pas approfondie) :

    ,NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK ),Digits), --> à la place de 'Ask'
    ,NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID ),Digits), --> à la place de 'Bid'

    Ca rallonge nettement l'écriture de l'ordre mais c'est efficace.

    -----------------------------------------------------------------
    J'ai une petite question: lors d'un OrderSend j'utilise le commentaire pour savoir de quel graphique/EA provient l'ordre d'ouverture. Mais comme j'effectue des clôtures partielles, la plate-forme génère automatiquement un commentaire de style to #11111111 et pour finir from # 111111, du coup je perd l'information désirée. Existe t il une méthode soit pour bloquer ce commentaire automatique soit pour modifier le commentaire de l'ordre en cours ?
    Si vous avez une info merci.

    Super le travail que vous effectuez sur ce site

  5. #5
    Membre Star louprebel is just really nice louprebel is just really nice louprebel is just really nice louprebel is just really nice Avatar de louprebel
    Date d'inscription
    February 2009
    Messages
    1 065
    Pouvoir de réputation
    42

    Astuce pour éviter le ralentissement de MT-4 Astuce pour éviter le ralentissement de MT-4

    Bonjour,

    Avec certains indicateurs sur MT-4 la plateforme est ralentie, au point parfois de figer toutes les actions pendant plusieurs secondes, par saccades. Impossible par exemple de passer un ordre, la souris semble figée.

    Il y a une astuce de programmation pour éviter que la plateforme soit ralentie par des indicateurs gourmands en ressources :

    Désactiver la mise à jour des Buffers à chaque tick. Toutes les valeurs seront calculées une seule fois à l'open de chaque barre. Cool.

    Sauf cas particulier, on a pas besoin que l'indicateur affiche à chaque tick les valeurs calculées. Cette désactivation permet de placer des d'indicateurs complexes sur plusieurs graphiques, y compris en M1, sans provoquer ce ralentissement.

    Sur les EAs, cette manip n'est à faire que si les signaux sont exclusivement sur la cloture des barres. Sinon, les ordres ne seront pas déclenchés au bon moment.

    @ JYVES35 : Je n'ai pas trouver de réponse à ta question

    Sinon, pour remplacer Ask/Bid par la fonction MarketInfo(), tu indique le slipage de la même façon ? Pas sûr que ça soit la meilleurs option...

    La fonction RefreshRates(); est efficace.

    Cordialement,
    Loup
    --------------------------------------------------------------------------------------
    Gestion des trades : EA Trade Management, par Tanaïs et Loup REBEL
    ----------------------- Indicateur de Money Management
    Chandelier Multi TF : Graphique multi Chandeliers Multi Time Frame

  6. #6
    Membre Star vamm972 est actif et passionnant vamm972 est actif et passionnant Avatar de vamm972
    Date d'inscription
    November 2008
    Localisation
    quebec
    Messages
    1 429
    Pouvoir de réputation
    24

    Citation Envoyé par JYVES35 Voir le message

    -----------------------------------------------------------------
    J'ai une petite question: lors d'un OrderSend j'utilise le commentaire pour savoir de quel graphique/EA provient l'ordre d'ouverture. Mais comme j'effectue des clôtures partielles, la plate-forme génère automatiquement un commentaire de style to #11111111 et pour finir from # 111111, du coup je perd l'information désirée. Existe t il une méthode soit pour bloquer ce commentaire automatique soit pour modifier le commentaire de l'ordre en cours ?
    Si vous avez une info merci.

    Super le travail que vous effectuez sur ce site
    et si tu utilisais un comptage en appelant le ticket de départ , vérifier le nb lot et vérifier le order close du ticket , si le order close != du ticket tu appelles un nouveau commentaire

    c'est une idée , car j'ai pas la formule , mais ca me semble logique

Discussions similaires

  1. Tout nouveau tout 9
    Par tonton-cristobal dans le forum Présentation des membres
    Réponses: 1
    Dernier message: 30/08/2009, 16h23
  2. me voila de retour avec un tout nouveau indicateur
    Par secatrix dans le forum Trading Divers
    Réponses: 44
    Dernier message: 25/08/2009, 16h09
  3. bon brokers
    Par Pattrizio dans le forum Broker Forex
    Réponses: 6
    Dernier message: 24/08/2009, 17h32
  4. Tout nouveau, tout beau !
    Par samir94 dans le forum Présentation des membres
    Réponses: 2
    Dernier message: 16/09/2008, 11h06

Ajouter aux Favoris | Plan du site | Archives | Forex | Contact