Mon compte
Déjà membre ? S'identifier
Non inscrit ? S'inscrire
 
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Membre lvl 5 bisemper est sur la route de la réputation...
    Date d'inscription
    September 2010
    Localisation
    Lyon
    Messages
    12
    Pouvoir de réputation
    4

    Connaitre le résultat des derniers trades Connaitre le résultat des derniers trades

    Bonsoir,

    J'ai remarqué que mon EA après environ 10 trades perdant, continuait ainsi pendant environ 10 trades. J'aimerais stopper les ouvertures pendant un mois. Fin de l'intro

    Donc je bloque pour récupérer l'info des 15 dernier trades, j'aimerais juste savoir si ils sont gagnant ou perdant. J'ai trouve des info ici. J'ai adapter le truc pour mes besoins

    Voila le résultat:
    Cntg= Compteur de gain (Cntgain= maximum)
    Cntp= compteur de perte (Cntperte=maximum)
    StopT= arrêt des ouvertures
    Code:
    double orders=OrdersHistoryTotal();
    
    if (orders >15&&StopT=="false") 
    { 
       for(int i2=orders-1;i>=orders-15;i--) 
       {
       if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }
       if (OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;
       if (OrderProfit()>0) {Cntg++;Print ("Cntg: ",Cntg);} 
       if (OrderProfit()<0) {Cntp++;Print ("Cntp: ",Cntp);}
       if (Cntg>Cntgain) Cntp=0;
       if (Cntp>=Cntperte&&Cntg<=Cntgain){StopT="true";Cntp=0;Cntg=0;break;} //Si j'atteins mon maximum de pertes sur 15 trades avec un maximum de 2 gains, StopT, reset des compteurs et je quitte la boucle 
       }
    }
    Bon le résultat est horrible, comme on peut le voir je "print" mes compteurs, et je les voir s'incrémenter à des valeurs exorbitantes sans jamais s'arrêter.

    Auriez vous une idée pour améliorer la situation?
    Merci d'avance
    Dernière modification par bisemper ; 07/11/2010 à 19h18. Motif: Changement de titre

  2. #2
    Membre Star pipsforever is just really nice pipsforever is just really nice pipsforever is just really nice pipsforever is just really nice Avatar de pipsforever
    Date d'inscription
    November 2008
    Localisation
    Londres
    Messages
    1 340
    Pouvoir de réputation
    42

    heu, quand tu a déclaré tin "i" tu as fait "i2" dans for(int i2....

    c'est dans ton code ainsi ou faute de frappe sur le forum?
    Chaque trade doit avoir seul et unique but ...... faire un nouveau plus haut sur votre équity!!!
    Chez moi, la prog c'est une affaire de famille!
    Même notre chien s'y met

  3. #3
    Membre Performance Guonzo deviendra bientot célèbre...
    Date d'inscription
    April 2009
    Messages
    168
    Pouvoir de réputation
    8

    Bonsoir Bisemper,

    StopT c'est quel type, un booléen ? car si c'est le cas remplace

    Code:
    if( StopT == "false" )
    par :

    Code:
    if( StopT == false )
    Tu ne dois pas tester ton stop avec une chaine de caractères qui écrit false, mais avec la valeur booléenne false.

    Cordialement,

    Guonzo.

  4. #4
    Membre lvl 5 bisemper est sur la route de la réputation...
    Date d'inscription
    September 2010
    Localisation
    Lyon
    Messages
    12
    Pouvoir de réputation
    4

    Merci à vous deux pour vos réponses

    heu, quand tu a déclaré tin "i" tu as fait "i2" dans for(int i2....

    c'est dans ton code ainsi ou faute de frappe sur le forum?
    Un peut des deux, c'est une faute de frappe dans le code je viens de modifier, mais mon compteur monte toujours super haut, après moins de 10 trades le cntp est déjà à plus de 90000.

    StopT c'est quel type, un booléen ? car si c'est le cas remplace
    ba euhh je l'avais définis en string, je viens de le remplacé en bool tu as raison ça fait un peu + propre.

    Salutations

  5. #5
    Membre Star pipsforever is just really nice pipsforever is just really nice pipsforever is just really nice pipsforever is just really nice Avatar de pipsforever
    Date d'inscription
    November 2008
    Localisation
    Londres
    Messages
    1 340
    Pouvoir de réputation
    42

    en fait tu as faire un boucle à l'envers, donc qui fini par i--, donc soit tu change en i++
    ou alors tu fait
    for(int i=orders-15;i>=orders-1;i--)

    je pense ue ça devrait y aller comme ça
    Chaque trade doit avoir seul et unique but ...... faire un nouveau plus haut sur votre équity!!!
    Chez moi, la prog c'est une affaire de famille!
    Même notre chien s'y met

  6. #6
    Membre lvl 5 bisemper est sur la route de la réputation...
    Date d'inscription
    September 2010
    Localisation
    Lyon
    Messages
    12
    Pouvoir de réputation
    4

    Citation Envoyé par pipsforever Voir le message
    en fait tu as faire un boucle à l'envers, donc qui fini par i--, donc soit tu change en i++
    ou alors tu fait
    for(int i=orders-15;i>=orders-1;i--)

    je pense ue ça devrait y aller comme ça
    Merci pour ta réponse pipsforever, j'essais ça se soir et je vous tiens au jus

  7. #7
    Membre lvl 5 bisemper est sur la route de la réputation...
    Date d'inscription
    September 2010
    Localisation
    Lyon
    Messages
    12
    Pouvoir de réputation
    4

    Bonsoir,

    J'ai essayé les deux solutions de pipsforever, mais seulement une fonctionne un peu près, voila à ce que ressemble le code:

    Code:
    double orders=OrdersHistoryTotal();
    
    if (orders >12&&StopT==false) 
    { 
       for(int i2=orders-1;i2>=orders-12;i2++)
       {
       if (OrderSelect(i2,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }
       if (OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;
       if (OrderProfit()>2) {Cntg++;Print ("Cntg: ",Cntg);}
       if (OrderProfit()<2) {Cntp++;Print ("Cntp: ",Cntp);}
       if (Cntg>=Cntgain) Cntp=0;
       if (Cntp>=Cntperte&&Cntg<=Cntgain){StopT=true;Cntp=0;Cntg=0;break;}
       }
    }
    Le problème c'est que j'ai le compteur qui prend +1 et une erreur, le compteur qui prend + 1 ensuite une erreur etc. Le résultat c'est que mes trades coupe n'importe ou.
    Peut être que ça viens de la suite de mon code, mais je pense que le soucis est dans la sélection des ordres. Avez vous une idée? une piste?

    Merci d'avance
    Images attachées

  8. #8
    Membre lvl 5 bisemper est sur la route de la réputation...
    Date d'inscription
    September 2010
    Localisation
    Lyon
    Messages
    12
    Pouvoir de réputation
    4

    personne n'as une petite idée? une piste?

    merci d'avance

Discussions similaires

  1. Derniers développements
    Par FXCM News dans le forum Analyses Forex professionnelles
    Réponses: 0
    Dernier message: 15/07/2010, 11h10
  2. allongement de la liste des derniers messages
    Par TeeOne dans le forum Divers
    Réponses: 5
    Dernier message: 24/04/2009, 14h34
  3. L’euro se stabilise face au dollar après son envol de ces derniers jours
    Par Saxo Banque dans le forum Analyses Forex professionnelles
    Réponses: 0
    Dernier message: 20/03/2009, 09h30
  4. QQE - en savoir plus?
    Par neko119 dans le forum Trading Divers
    Réponses: 0
    Dernier message: 10/10/2008, 05h31

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