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 Star abrikabrac est très intéressant
    Date d'inscription
    March 2009
    Messages
    396
    Pouvoir de réputation
    9

    Besoin d'un bout de code. Merci. Besoin d'un bout de code. Merci.

    Bonjour,
    Je souhaiterai intégrer à un EA en ma possession deux filtre.

    Pour l'instant , l'Ea peut déclencher un ordre indifférement en vente ou en achat selon les conditons.

    J'aimerais mettre un filtre pour que l'ordre se déclenche uniquement dans le sens de la bougie précedente en DAILY.

    Je souhaiterai aussi qu'aucun n'ordre ne soit déclenché si l'ATR daily est en dessous d'un certain seuil.

    Si quelqu'un pouvait me fournir le bout de code de base, je me chargerai de l'adapter moi même avec mes maigres connaissance.

    Merci d'avance.

  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 abrikabrac Voir le message
    Bonjour,
    Je souhaiterai intégrer à un EA en ma possession deux filtre.

    Pour l'instant , l'Ea peut déclencher un ordre indifférement en vente ou en achat selon les conditons.

    J'aimerais mettre un filtre pour que l'ordre se déclenche uniquement dans le sens de la bougie précedente en DAILY.

    Je souhaiterai aussi qu'aucun n'ordre ne soit déclenché si l'ATR daily est en dessous d'un certain seuil.

    Si quelqu'un pouvait me fournir le bout de code de base, je me chargerai de l'adapter moi même avec mes maigres connaissance.

    Merci d'avance.
    pour l ATR ca doit être du style
    if(iATR(NULL,0,12,0)> niveau choisi) ;


    et pour la bougie précédente c'est plus simple tu utilise les fonctions iopen iclose
    double var1 = iopen ( blablabla
    double var2 = iclose ( blablabla

    if ( var1 < var2 ) Order = SIGNAL_BUY;
    if ( var1 > var2 ) Order = SIGNAL_SELL;

    bien sur c'est qu'une idée générale après c'est a toi de faire le reste des variables mais avec l'aide MT4 c'est pas compliqué ce genre de filtre

  3. #3
    Membre Star abrikabrac est très intéressant
    Date d'inscription
    March 2009
    Messages
    396
    Pouvoir de réputation
    9

    Merci beaucoup VAMM !

    Mais L'ea tourne en M5 et je souhaiterai que les filtres concernent la période DAILY. Il y a sans doute une ligne supplémentaire pour lui préciser le TF du filtre ?

  4. #4
    Membre Star jeims est actif et passionnant jeims est actif et passionnant
    Date d'inscription
    July 2008
    Localisation
    France
    Messages
    646
    Pouvoir de réputation
    19

    #property copyright "Copyright © 2009, MetaQuotes Software Corp."
    #property link "http://www.metaquotes.net"

    extern int ATRlevel=250;
    extern int ATRmoy=14;
    extern double Lots=0.1;
    extern int StopLoss=150;
    extern int TakeProfit=150;



    //+------------------------------------------------------------------+
    //| expert initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert start function |
    //+------------------------------------------------------------------+
    int start()
    {
    //----
    double ouverture, fermeture;

    ouverture=iOpen(NULL,PERIOD_D1,1);
    fermeture=iClose(NULL,PERIOD_D1,1);

    if((iATR(NULL,PERIOD_D1,ATRmoy,0)<ATRlevel)&&Order sTotal()<1)
    {
    if(ouverture>fermeture) //bougie baissiere
    OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss *0.0001, Bid-TakeProfit*0.0001,"",0,0);

    if(ouverture<fermeture) //bougie haussiere
    OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*0.0001, Ask+TakeProfit*0.0001,"",0,0);

    }

    //----
    return(0);
    }
    Fichiers attachés

  5. #5
    Membre Star jeims est actif et passionnant jeims est actif et passionnant
    Date d'inscription
    July 2008
    Localisation
    France
    Messages
    646
    Pouvoir de réputation
    19

    Voila un petit truc vite fait avec ce que tu demandes.
    Peut marcher que si ta 4 décimales et non 5, sinon faut rajouter un truc du style

    if (Digits == 5 || Digits == 3) MyPoint = Point*10;
    else MyPoint= Point;

    dans le init(),

    en ayant déclaré auparavant double Mypoint;



    En espérant que cela puisse t'aider...
    Dernière modification par jeims ; 11/11/2009 à 15h40.

  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 jeims Voir le message
    Voila un petit truc vite fait avec ce que tu demandes.
    Peut marcher que si ta 4 décimales et non 5, sinon faut rajouter un truc du style

    if (Digits == 5 || Digits == 3) MyPoint = Point*10;
    else MyPoint= Point;

    dans le init(),

    en ayant déclaré auparavant double Mypoint;



    En espérant que cela puisse t'aider...

    une petite question en ce qui concerne ton post précédent

    plutôt que ca

    if(ouverture>fermeture) //bougie baissiere
    OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss *0.0001, Bid-TakeProfit*0.0001,"",0,0);

    ca c'est pas mieux

    if(ouverture>fermeture) //bougie baissiere
    OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss *Point, Bid-TakeProfit*Point,"",0,0);

    c'est ce que j'utilise pour avoir la valeur du point

  7. #7
    Membre Star jeims est actif et passionnant jeims est actif et passionnant
    Date d'inscription
    July 2008
    Localisation
    France
    Messages
    646
    Pouvoir de réputation
    19

    oui oui t as raison c'est mieux!
    merci

  8. #8
    Membre Star abrikabrac est très intéressant
    Date d'inscription
    March 2009
    Messages
    396
    Pouvoir de réputation
    9

    Merci beaucoup à tous les deux !

    Je vais tacher de mettre ça en place, et je vous enverrai l'EA du coup !

    Merci encore.

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/03/2009, 15h57
  2. Réponses: 0
    Dernier message: 15/03/2009, 15h23
  3. Besoin d'un nouvel EA
    Par condor666 dans le forum Systèmes de Trading Auto
    Réponses: 104
    Dernier message: 22/02/2009, 23h35
  4. MT4 Rame au bout d'un certain temps.
    Par dreamfab dans le forum Utilisation des Plateformes de Trading
    Réponses: 8
    Dernier message: 29/09/2008, 22h32

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