Mon compte
Déjà membre ? S'identifier
Non inscrit ? S'inscrire
 
+ Répondre à la discussion
Page 1 sur 3 1 2 3 DernièreDernière
Affichage des résultats 1 à 10 sur 24
  1. #1
    Membre Star gillou33 est actif et passionnant gillou33 est actif et passionnant gillou33 est actif et passionnant
    Date d'inscription
    June 2008
    Localisation
    nord
    Messages
    1 293
    Pouvoir de réputation
    28

    demande aide svp demande aide svp

    bonjour j'ai toujours essaye d'aider le maximum de personne a la recherche d'ea d'indic ou d'infos sur le forex aujourd'hui c'est moi qui a besoin de votre aide sur un probleme de programation merçi

    j'ai un Expert Advisor qui achette ou vend plusieurs paires en meme temps , le probleme c'est qu'il fait parfois des dublons ou plus c'est a dire qu'il peut ouvrir un trade sur la meme paire plusieur fois
    de plus l'ea continue de placer des trades tant qu'il est active

    j'aimerai que cet EA fasse une fois son travail proprement c'est a dire un seul trade sur chaque paire dans la liste et une seule et meme fois toutes les lignes misent en place dans l'ea
    que je puisse le desactiver quand j'ai envie
    que faut il mettre dans le code en plus pour arriver a cela ?
    merçi de votre aide precieuse j'ai bien essaye quelques bribes de code mais rien n'y fait
    ....voila le code qui est tout simple

    #property copyright "Copyright © 2008, Trader101"
    #property link "trader101@optonline.net"

    #property show_inputs
    extern double Lot = 0.1;



    //+------------------------------------------------------------------+
    //| script program start function |
    //+------------------------------------------------------------------+
    int start()
    {



    OrderSend("EURJPY",OP_BUY, Lot, MarketInfo("EURJPY",MODE_BID), 2, NULL, NULL, NULL, 0, 0, CLR_NONE);
    OrderSend("GBPUSD",OP_BUY, Lot, MarketInfo("GBPUSD",MODE_BID), 2, NULL, NULL, NULL, 0, 0, CLR_NONE);
    OrderSend("EURGBP",OP_BUY, Lot, MarketInfo("EURGBP",MODE_BID), 2, NULL, NULL, NULL, 0, 0, CLR_NONE);
    OrderSend("NZDUSD",OP_BUY, Lot, MarketInfo("GBPCHF",MODE_BID), 2, NULL, NULL, NULL, 0, 0, CLR_NONE);
    OrderSend("GBPJPY",OP_BUY, Lot, MarketInfo("CHFJPY",MODE_BID), 2, NULL, NULL, NULL, 0, 0, CLR_NONE);
    OrderSend("USDCHF",OP_SELL, Lot, MarketInfo("USDCHF",MODE_BID), 2, NULL, NULL, NULL, 0, 0, CLR_NONE);
    OrderSend("AUDJPY",OP_BUY, Lot, MarketInfo("AUDJPY",MODE_BID), 2, NULL, NULL, NULL, 0, 0, CLR_NONE);

    OrderSend("USDJPY",OP_BUY, Lot, MarketInfo("USDJPY",MODE_ASK), 2, NULL, NULL, NULL, 0, 0, CLR_NONE);
    OrderSend("EURUSD",OP_BUY, Lot, MarketInfo("EURUSD",MODE_ASK), 2, NULL, NULL, NULL, 0, 0, CLR_NONE);
    OrderSend("EURCHF",OP_BUY, Lot, MarketInfo("EURCHF",MODE_ASK), 2, NULL, NULL, NULL, 0, 0, CLR_NONE);
    OrderSend("NZDJPY",OP_BUY, Lot, MarketInfo("GBPJPY",MODE_ASK), 2, NULL, NULL, NULL, 0, 0, CLR_NONE);
    OrderSend("GBPCHF",OP_SELL, Lot, MarketInfo("USDCAD",MODE_ASK), 2, NULL, NULL, NULL, 0, 0, CLR_NONE);
    OrderSend("CHFJPY",OP_BUY, Lot, MarketInfo("CADJPY",MODE_ASK), 2, NULL, NULL, NULL, 0, 0, CLR_NONE);
    OrderSend("AUDUSD",OP_BUY, Lot, MarketInfo("AUDUSD",MODE_ASK), 2, NULL, NULL, NULL, 0, 0, CLR_NONE);

    return(0);
    }
    //+----------------------------------------------------------------------------------------------------+

  2. #2
    Membre lvl 50 jl83 est sur la route de la réputation...
    Date d'inscription
    June 2010
    Messages
    54
    Pouvoir de réputation
    4

    A mon sens, il faut, avant d'ouvrir une nouvelle position, faire une boucle afin de tester les positions existantes : si une position existe sur la paire considérée, on ne prend pas le trade.

    Un truc du genre

    Code:
       for (int n = 0; n < OrdersTotal(); n++) {
          OrderSelect (n, SELECT_BY_POS, MODE_TRADES);     
             if (OrderSymbol() == "EURUSD") {
                // On ne prend pas le trade
                }
             else {
                // On prend le trade
                }
             }
         }

  3. #3
    Membre Star gillou33 est actif et passionnant gillou33 est actif et passionnant gillou33 est actif et passionnant
    Date d'inscription
    June 2008
    Localisation
    nord
    Messages
    1 293
    Pouvoir de réputation
    28

    Citation Envoyé par jl83 Voir le message
    A mon sens, il faut, avant d'ouvrir une nouvelle position, faire une boucle afin de tester les positions existantes : si une position existe sur la paire considérée, on ne prend pas le trade.

    Un truc du genre

    Code:
       for (int n = 0; n < OrdersTotal(); n++) {
          OrderSelect (n, SELECT_BY_POS, MODE_TRADES);     
             if (OrderSymbol() == "EURUSD") {
                // On ne prend pas le trade
                }
             else {
                // On prend le trade
                }
             }
         }
    merçi pour la reponse rapide , mais je ne sais pas trop ou placer cette boucle dans le fichier
    j'ai mis le bout de code dans le fichier et en recompillant je me doute que c'est pas le bon moyen , les trades se font toujours aleatoirement plusieurs trades sur la meme devise et les series s'enchainent
    faut il creer cette boucle sur chaque paire
    bref comment y parvenir a de n'avoir un seul trade par devise et c'est tout
    merçi de ton aide

  4. #4
    Membre lvl 50 jl83 est sur la route de la réputation...
    Date d'inscription
    June 2010
    Messages
    54
    Pouvoir de réputation
    4

    Cette boucle te permet de tester si un trade a été pris sur une paire donnée (EURUSD dans mon exemple de code).

    Il faut ensuite remplacer les lignes commençant par //, par le code approprié :
    - la première peut par exemple afficher un message indiquant qu'un trade existe sur cette paire (ou alors ne rien faire du tout)
    - la deuxième doit être remplacée par ton code pour ouvrir la position

  5. #5
    Membre Star gillou33 est actif et passionnant gillou33 est actif et passionnant gillou33 est actif et passionnant
    Date d'inscription
    June 2008
    Localisation
    nord
    Messages
    1 293
    Pouvoir de réputation
    28

    Citation Envoyé par jl83 Voir le message
    Cette boucle te permet de tester si un trade a été pris sur une paire donnée (EURUSD dans mon exemple de code).

    Il faut ensuite remplacer les lignes commençant par //, par le code approprié :
    - la première peut par exemple afficher un message indiquant qu'un trade existe sur cette paire (ou alors ne rien faire du tout)
    - la deuxième doit être remplacée par ton code pour ouvrir la position
    re, je comprend qu'il faut verifier chaque trade s'il a ete pris ou pas mais mes connaissances en programation sont nulles
    je ne vois pas comment modifier le fichier ni meme par qu'elle bout commencer

  6. #6
    Membre lvl 50 jl83 est sur la route de la réputation...
    Date d'inscription
    June 2010
    Messages
    54
    Pouvoir de réputation
    4

    Mais il fait quoi précisément ton EA ? Je suppose qu'il ne prend pas des trades au hasard, il doit bien y avoir des conditions quelque part ?

  7. #7
    Membre Star betinfx deviendra bientot célèbre...
    Date d'inscription
    December 2009
    Localisation
    le Huit-Trois
    Messages
    338
    Pouvoir de réputation
    0

    Citation Envoyé par jl83 Voir le message
    Mais il fait quoi précisément ton EA ? Je suppose qu'il ne prend pas des trades au hasard, il doit bien y avoir des conditions quelque part ?
    c'est du basket trading, les positions sont prises en même temps car hedgées, cet EA s'applique dans une premiere phase en démo.



    la suite...
    Simple Trading Method with trader101 @ Forex Factory

    c'est une forme de cointégration mais cette stratégie n' en est pas la meilleure expression (juste de l' écrémage), elle peut être piégeuse, elle a toutefois le mérite d' occuper l'esprit quelque temps.
    Dernière modification par betinfx ; 30/07/2010 à 18h03.

  8. #8
    Membre Star gillou33 est actif et passionnant gillou33 est actif et passionnant gillou33 est actif et passionnant
    Date d'inscription
    June 2008
    Localisation
    nord
    Messages
    1 293
    Pouvoir de réputation
    28

    re...cette EA je l'utise personnellement dans un autre but que le hedging qui avec le basket 101 prend 7trades sell sur certaines paires et 7trades buy sur les autres'et qui n'est pas un hedge parfait ...moi ce que j'aimerai c'est un EA qui prend les trades comme je lui ai ordonne par exemple 12buy et 2sell ou autre(je change le sens dans le fichier avant de mettre en place l'ea )
    le but c'est de ne pas prendre tous les trades a la main donc en semi automatique
    j'active l'ea et il prend les 14trades comme dans la liste une fois pour toute ...puis j'enleve l'ea

    le probleme c'est les doublons car il peut prendre 3fois une meme devise et pas une autre
    j'aimerai trouver un script ou un EA simple : il trade les devises comme sur la liste preparee a l'avance , je le lance et j'ai les 14 lignes de devise et c'est tout
    la gestion des trades se fait a la main sans l'ea
    pouvez vous faire cela ?
    merçi pour les reponses

  9. #9
    Membre Star gillou33 est actif et passionnant gillou33 est actif et passionnant gillou33 est actif et passionnant
    Date d'inscription
    June 2008
    Localisation
    nord
    Messages
    1 293
    Pouvoir de réputation
    28

    Citation Envoyé par jl83 Voir le message
    Mais il fait quoi précisément ton EA ? Je suppose qu'il ne prend pas des trades au hasard, il doit bien y avoir des conditions quelque part ?
    re non non l'ea ne gere pas les trades il achette ou vend les lignes comme dans le fichier puis ne fait plus rien c'est simplement une aide pour placer les 14trades

  10. #10
    Membre lvl 50 jl83 est sur la route de la réputation...
    Date d'inscription
    June 2010
    Messages
    54
    Pouvoir de réputation
    4

    Dans ce cas, si j'ai bien compris ce que tu veux, il suffit simplement de faire ce que tu fais, pas dans un EA, mais dans un script, qui par définition ne sera exécuté qu'une seule fois.

    Donc tu enregistres ton fichier dans le dossier scripts du répertoire experts de MT4, et ensuite tu le fais glisser sur n'importe quel graphique. Il sera exécuté une seule fois.

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/04/2010, 23h30
  2. Réponses: 0
    Dernier message: 23/04/2010, 20h11
  3. Réponses: 0
    Dernier message: 23/04/2010, 18h30
  4. aide programmation MT4
    Par corbranjf dans le forum Utilisation des Plateformes de Trading
    Réponses: 0
    Dernier message: 04/01/2009, 18h31
  5. Demande aide MQL4 - Fonction OrderSend
    Par Leo dans le forum Systèmes de Trading Auto
    Réponses: 7
    Dernier message: 18/08/2008, 22h58

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