Mon compte
Déjà membre ? S'identifier
Non inscrit ? S'inscrire
 
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Membre Performance TAAD est sur la route de la réputation...
    Date d'inscription
    June 2008
    Messages
    164
    Pouvoir de réputation
    6

    Problème de codage MQL4 Problème de codage MQL4

    Bonjour,

    J'essaye de programmer un EA mais je ne comprends pas pourquoi il ignore une partie du code.
    A chaque bougie, l'EA doit soit passer un ordre (achat ou vente ) soit ne rien faire puis il doit attendre la bougie suivante. Le problème est que la partie du code devant gérer l'attente est ignorée et je ne comprends pas pourquoi.

    Je joins ci dessous le code gérant la pose, si qq1 pouvez m'expliquer pourquoi il ne remplit pas sa fonction ça serait mega cool ! je bloque la dessus depuis 10 jours !!!

    Code:
    int date;
    extern int Temporisation = 1;      // Délai (compté en nombre de bougies) avant de pouvoir re-passer un ordre
    bool reperage=false;
    
    // INIT, DEINIT...
    
    int start()
      {
    if (reperage == false) 
    {
    date = iTime("EURUSD",PERIOD_M5,1);
    reperage = true;
    
    // Ordre achat 
    
    // Ordre vente 
    
    }
    
    if (date+(Temporisation*Period()*60) <= TimeCurrent())
       {
          reperage = false;
       }  
    
    }

  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 TAAD Voir le message
    Bonjour,

    J'essaye de programmer un EA mais je ne comprends pas pourquoi il ignore une partie du code.
    A chaque bougie, l'EA doit soit passer un ordre (achat ou vente ) soit ne rien faire puis il doit attendre la bougie suivante. Le problème est que la partie du code devant gérer l'attente est ignorée et je ne comprends pas pourquoi.

    Je joins ci dessous le code gérant la pose, si qq1 pouvez m'expliquer pourquoi il ne remplit pas sa fonction ça serait mega cool ! je bloque la dessus depuis 10 jours !!!

    Code:
    int date;
    extern int Temporisation = 1;      // Délai (compté en nombre de bougies) avant de pouvoir re-passer un ordre
    bool reperage=false;
    
    // INIT, DEINIT...
    
    int start()
      {
    if (reperage == false) 
    {
    date = iTime("EURUSD",PERIOD_M5,1);
    reperage = true;
    
    // Ordre achat 
    
    // Ordre vente 
    
    }
    
    if (date+(Temporisation*Period()*60) <= TimeCurrent())
       {
          reperage = false;
       }  
    
    }
    tu peux peut être t'en sortir avec une fonction de comptage des trades
    et ensuite

    if nbtrade <= 0 alors trade

    et pour fixer le nombre de trade tu fais

    if nbtrade == 1 alors rien

    ou alors
    une fonction maxtrade qui limite le nbtrade à ce que tu veux

    ex:
    extern int maxtrade = 1;

    et dans ce cas tu verouilles l'ea en mettant juste après start

    //-------------------------------------------------------
    if ( CountTrades() >= maxtrade )
    {
    Comment(
    "\n \Trading Close trop de trade..."
    );
    return(0);
    }


    voici la fonction comptage des trades
    //íííííííííííííííííííííííííííííííííííííííííííííííííí íííííííííííííííííííííííííííííííííííííííííííííííííí íííííííííííííííííííííííííííííííííííííííííííííííííí ííííííííííííííííííííííííííííííííííííí
    int {
    int count = 0;
    for (int trade = OrdersTotal() - 1; trade >= 0; trade--) {
    OrderSelect(trade, SELECT_BY_POS, MODE_TRADES);
    if ( OrderMagicNumber() == MagicNumber)
    if (OrderType() == OP_SELL
    ||
    OrderType() == OP_BUY) count++;
    }
    return (count);
    }

  3. #3
    Membre Performance TAAD est sur la route de la réputation...
    Date d'inscription
    June 2008
    Messages
    164
    Pouvoir de réputation
    6

    salut vamm972,

    J'ai également essayé d'intégré la fonction de temporisation de ta matrice mais ca ne marche pas non plus.

    Toi qui est un expert en MQL4, peux tu me dire s'il y a un problème dans mon codage ? pourquoi l'EA ignore ma condition "if (reperage == false)" ?

    Ton idée de comptage des trades est bonne mais je pense qu'elle n'est pas applicable à ma stratégie

  4. #4
    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 TAAD Voir le message
    salut vamm972,

    J'ai également essayé d'intégré la fonction de temporisation de ta matrice mais ca ne marche pas non plus.

    Toi qui est un expert en MQL4, peux tu me dire s'il y a un problème dans mon codage ? pourquoi l'EA ignore ma condition "if (reperage == false)" ?

    Ton idée de comptage des trades est bonne mais je pense qu'elle n'est pas applicable à ma stratégie
    je ne suis pas un expert loin de la

    ce qui me pose problème c'est ca
    //--------------------
    int start()
    {
    if (reperage == false)
    {
    date = iTime("EURUSD",PERIOD_M5,1);
    reperage = true;
    //---------------------

    ton reperage est déjà false dans le bool , as tu essayé qu'avec ca

    //------------------------------------
    double date;

    int start()
    {
    bool reperage = false;
    date = iTime("EURUSD",PERIOD_M5,1) reperage = true;

    dans ce cas la variable passe de false à true

    mais j'ai encore du mal à maitriser les variables bool

    voila un exemple qui marche
    bool tendancehaute=false ;
    bool tendancebasse=false;
    if( Ask > open4) tendancehaute= true;
    if( Ask < open4) tendancebasse= true;

    dans ce cas la variable tendance passe de 0 à 1

  5. #5
    Membre Performance TAAD est sur la route de la réputation...
    Date d'inscription
    June 2008
    Messages
    164
    Pouvoir de réputation
    6

    Citation Envoyé par vamm972 Voir le message
    je ne suis pas un expert loin de la

    as tu essayé qu'avec ca

    //------------------------------------
    double date;

    int start()
    {
    bool reperage = false;
    date = iTime("EURUSD",PERIOD_M5,1) reperage = true;

    dans ce cas la variable passe de false à true
    Ca ne peux pas marcher car il n'y a plus de condition (if), non ?

    Citation Envoyé par vamm972 Voir le message

    ce qui me pose problème c'est ca
    //--------------------
    int start()
    {
    if (reperage == false)
    {
    date = iTime("EURUSD",PERIOD_M5,1);
    reperage = true;
    //---------------------

    ton reperage est déjà false dans le bool , as tu essayé qu'avec ca

    /
    qu'entends tu par "ton reperage est déjà false dans le bool" ?

    Je pensais qu'au premier passage de l'EA, reperage est sur false donc il exécute le code et reperage passe a true, puis il ne peux plus s'exécuter tant que reperage ne passe pas à false. mais il ignore cette condition!

  6. #6
    Membre Performance TAAD est sur la route de la réputation...
    Date d'inscription
    June 2008
    Messages
    164
    Pouvoir de réputation
    6

    l'EA marche bien il s'agissait d'un problème de date!

    merci pour ton aide. Je peux passer au problème suivant maintenant
    Dernière modification par TAAD ; 10/03/2010 à 22h47.

  7. #7
    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 TAAD Voir le message
    l'EA marche bien il s'agissait d'un problème de date!

    merci pour ton aide. Je peux passer au problème suivant maintenant
    parfait

Discussions similaires

  1. Besoin d'aide pour codage EA
    Par kouyate dans le forum Trading Divers
    Réponses: 1
    Dernier message: 13/02/2010, 16h35
  2. Est ce possible en MQL4 ?
    Par condor666 dans le forum Programmation
    Réponses: 2
    Dernier message: 14/05/2009, 14h29
  3. Mql4
    Par doublea66 dans le forum Novice sur le Forex
    Réponses: 3
    Dernier message: 01/04/2009, 20h28
  4. Une stratégie sans codage
    Par lstates dans le forum Systèmes de Trading Auto
    Réponses: 0
    Dernier message: 26/02/2009, 18h55
  5. pb mql4
    Par pingoo dans le forum Systèmes de Trading Auto
    Réponses: 2
    Dernier message: 25/01/2009, 13h35

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