Mon compte
Déjà membre ? S'identifier
Non inscrit ? S'inscrire
 
+ Répondre à la discussion
Page 1 sur 2 1 2 DernièreDernière
Affichage des résultats 1 à 10 sur 11
  1. #1
    Membre lvl 5 dieudonné est sur la route de la réputation...
    Date d'inscription
    December 2010
    Messages
    14
    Pouvoir de réputation
    3

    identifier le dernier trade cloturé identifier le dernier trade cloturé

    je souhaite identifier le dernier trade cloturé.
    programmation:
    * recherche du dernier trade cloturé
    *condition1(profit du dernier trade est positifou égal à zéro)
    action1
    *condition2(profit du dernier trade est négatif)
    action2
    merci pour votre aide

  2. #2
    Membre Star remjie est actif et passionnant Avatar de remjie
    Date d'inscription
    January 2011
    Localisation
    Rhone
    Messages
    279
    Pouvoir de réputation
    10

    Salut,

    Code:
    int i, hstTotal=OrdersHistoryTotal();
     for (i=hstTotal;i>0;i--)
    {
    ticket=i++;
    OrderSelect(ticket, SELECT_BY_POS,MODE_HISTORY)
    if (OrderProfit()>0)
    {
    action 1;
    }
    else action 2;
    }
    il me semble que c'est ça
    Mieux vaut ouvrir sa gueule et passer pour un con que la fermer et ne laisser aucun doute sur le sujet.

  3. #3
    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

    quelque chose dans ce genre là:

    Code:
    for(int i=0; i<OrdersHistoryTotal;i++)
    {
      OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      
      if(OrderProfit()<=0)
      {
          //action 1
      }else
      {
          //action 2
      }
    }
    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

  4. #4
    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

    lol remji, à une minute d'intervalle
    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

  5. #5
    Membre lvl 5 dieudonné est sur la route de la réputation...
    Date d'inscription
    December 2010
    Messages
    14
    Pouvoir de réputation
    3

    je ne suis pas sûr que le dernier trade uniquement soit séléctionné,
    avec la condition "for" dès qu'un trade satisfait à une des deux conditions de profit => l'action est lancée.
    j'ai pensé à:

    int ticket = OrdersHistoryTotal();//je cherche le dernier trade cloturé
    OrderSelect(ticket, SELECT_BY_POS,MODE_HISTORY)
    if (OrderProfit()>0)
    {
    action 1;
    }
    else action 2;
    }

    qu'en pensez-vous?

  6. #6
    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

    Ca pourrait le faire je pense oui.

    Sinon tu pouvais aussi mettre en condition que l'index (i) soit le premier:

    Code:
    for(int i=0; i<OrdersHistoryTotal;i++)
    {
      OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      
      if(OrderProfit()<=0 && i>=1)
      {
          //action 1
      }else
      {
          //action 2
      }
    }
    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

  7. #7
    Membre lvl 75 fxconfidential deviendra bientot célèbre... Avatar de fxconfidential
    Date d'inscription
    April 2008
    Localisation
    Barcelone
    Messages
    84
    Pouvoir de réputation
    10

    Bonjour,

    Voici une possibilité

    Code:
    for(int i = OrdersHistoryTotal()-1, i >= 0, i--)
      {
       OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS, MODE_HISTORY);
       if(OrderProfit() >= 0)
         {
          // Action 1
         }
       if(OrderProfit() < 0)
         {
          // Action 2
         }
      }
    Bonne journée

  8. #8
    Membre lvl 5 dieudonné est sur la route de la réputation...
    Date d'inscription
    December 2010
    Messages
    14
    Pouvoir de réputation
    3

    bonjour finalement j'ai testé ce petit programme de money-management intéEgré ds un EA. il est très rudimentaire mais améliore nettement les resultats d'un EA.
    voici:
    int ticket = (OrdersHistoryTotal()-1);//je cherche le dernier trade cloturé
    OrderSelect(ticket, SELECT_BY_POS,MODE_HISTORY);
    if (OrderProfit()>=0)
    {
    if(AccountBalance() <= 1000)
    Lots = LotInitial;//Lotinitial est une variable extern définie ici à 0.05.capital de depart 1000€
    if((1000 < AccountBalance())&& (AccountBalance()<= 1500))
    Lots = 2*LotInitial;
    if((1500 < AccountBalance())&& (AccountBalance()<= 2000))
    Lots = 3*LotInitial;
    if((2000 < AccountBalance())&& (AccountBalance()<= 2500))
    Lots = 4*LotInitial;
    if((2500 < AccountBalance())&& (AccountBalance()<= 3000))
    Lots = 5*LotInitial;
    if((3000 < AccountBalance())&& (AccountBalance()<= 3500))
    Lots = 6*LotInitial;
    if((3500 < AccountBalance())&& (AccountBalance()<= 4000))
    Lots = 7*LotInitial;
    if((4000 < AccountBalance())&& (AccountBalance()<= 4500))
    Lots = 8*LotInitial;
    if((4500 < AccountBalance())&& (AccountBalance()<= 5000))
    Lots = 9*LotInitial;
    if((5000 < AccountBalance())&& (AccountBalance()<= 5500))
    Lots = 10*LotInitial;
    }
    else Lots = LotInitial;

    défauts:
    un seul EA pour un seul graphique et une seule monnaie
    beaucoup de lignes (accountbalance....)

    question:
    je teste sur Démo AVG, ds cet exemple la taille du lot initial est 0.05, selon le niveau du compte la taille Lots est un multiple de 0.05. en backtest ça marche. mais en réel? en effet si j'ouvre manuellement des positions j'ai un choix limité de taille(0.01, 0.02,.., 0.05, 1, 2..)pour les EA qu'en est-il?

  9. #9
    Membre lvl 5 dieudonné est sur la route de la réputation...
    Date d'inscription
    December 2010
    Messages
    14
    Pouvoir de réputation
    3

    pièces jointes modifié 2: sans le money management
    modifié 4 + MM2: avec le MM

    modifié2.gif

    modifié4 + MM2.gif

  10. #10
    Membre lvl 5 dieudonné est sur la route de la réputation...
    Date d'inscription
    December 2010
    Messages
    14
    Pouvoir de réputation
    3

    petite erreur:
    sans MM:
    Pièce jointe 13544

    avec MM:
    Pièce jointe 13545

Discussions similaires

  1. Clôture Trade avec NFA / FIFO
    Par huralp dans le forum Broker Forex
    Réponses: 0
    Dernier message: 06/06/2011, 13h51
  2. codification clôture trade début de bougie suivante
    Par matthieu21 dans le forum Novice sur le Forex
    Réponses: 1
    Dernier message: 16/12/2010, 10h08
  3. cette gape a vue naissance au cloture du court dernier
    Par ecoplace dans le forum Analyse du marché des changes
    Réponses: 18
    Dernier message: 01/05/2010, 17h38
  4. [MQL4] savoir si le dernier trade est gagnant ou perdant
    Par harry le ravi dans le forum Programmation
    Réponses: 9
    Dernier message: 09/01/2010, 18h50
  5. probleme bizarre avec cycle identifier
    Par vamm972 dans le forum Trading Divers
    Réponses: 40
    Dernier message: 22/02/2009, 20h07

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