Rejoindre la communauté
banner_forum
Devenez membre de la plus grande
communauté francophone sur le Forex
Partagez, échangez et apprenez en gagnant des crédits sur votre compte de trading

EA qui se limite au Take Profit

  • Settela

    Bonjour

    J'ai une question en ce qui concerne les EA, en faite parfois avec un EA, ca ouvre une postion et ca attein le tp, sauf que la condition d'ouvrir une position de même sens est satisfaite, hors je ne veux plus que ca m'ouvre d'autres positions tant que j'ai eu mon tp, tant que le tp est atteint, je veux que mon EA m'ouvre qu'un position dans l'autre sens, si les conditions sont satisfaites bien sur, et pas de position dans le même sens que la position avec laquelle j'ai eu mon TP

    ma question est: comment paramétrer l'EA afin qu'il ne prenne que la position inverse dans le cas ou j'ai pris mon tp dans l'ancienne position

    Merci
  • Gui205

    Code
    bool Buy=true; bool Sell=true; if(buy==true){ ton order send buy buy=false; sell=true; if(sell==true) ton order send sell sell=false; buy=true;

    A vérifier, c'est pour te mettre sur la voix,( je ne connais pas tes conditions d'ouverture il faudra surement ajuster ) techniquement ça devrais fonctionne, bien qu'il doit y avoir des système plus facile
    Modifié le 2013-07-24 10:55:12 par AliX
  • Settela — en réponse à Gui205 dans son message #79638

    Salut GUI

    voici le code de mon EA,

    Code
    //Extern variables //Declaration double _xSuperTrend_Candles; double _xSuperTrend; double _xSuperTrend_Candles5MIN; double _xSuperTrend5MIN; double _Historic_data; double _Historic_data_1; double _xSuperTrend_Candles4; double _xSuperTrend_Candles5MIN4; double _Historic_data_2; double _xSuperTrend15MIN; bool _Compare; bool _Compare_1; bool _Compare_2; bool _Compare_3; bool _Compare_4; bool _AND; bool _AND_1; bool _Close_All_Short_Trades; bool _Close_All_Long_Trades; bool _Buy; bool _Sell; int init() { return(0); } int start() { //Step 1 _xSuperTrend_Candles = iCustom( Symbol(), 1, "xSuperTrend Candles", 0, 0, 1 ); _xSuperTrend = iCustom( Symbol(), 1, "xSuperTrend", 0, 1 ); _xSuperTrend_Candles5MIN = iCustom( Symbol(), 5, "xSuperTrend Candles5MIN", 0, 1 ); _xSuperTrend5MIN = iCustom( Symbol(), 5, "xSuperTrend5MIN", 0, 1 ); _Historic_data = iClose( Symbol(), 1, 1 ); _Historic_data_1 = iClose( Symbol(), 5, 1 ); _xSuperTrend_Candles4 = iCustom( Symbol(), 1, "xSuperTrend Candles4", 4, 1 ); _xSuperTrend_Candles5MIN4 = iCustom( Symbol(), 5, "xSuperTrend Candles5MIN4", 4, 1 ); _Historic_data_2 = iOpen( Symbol(), 0, 0 ); _xSuperTrend15MIN = iCustom( Symbol(), 15, "xSuperTrend15MIN", 0, 1 ); //Step 2 _Compare = _xSuperTrend_Candles > _xSuperTrend_Candles4; _Compare_1 = _xSuperTrend < _Historic_data; _Compare_2 = _Historic_data_1 > _xSuperTrend5MIN; _Compare_3 = _xSuperTrend_Candles5MIN4 < _xSuperTrend_Candles5MIN; _Compare_4 = _Historic_data_2 > _xSuperTrend15MIN; //Step 3 _AND = _Compare && _Compare_1 && _Compare_2 && _Compare_3 && _Compare_4; _AND_1 = !_Compare_4 && !_Compare_3 && !_Compare_2 && !_Compare_1 && !_Compare; if( _Compare_3 ) _Close_All_Short_Trades = Close_All_Short_Trades( 0 ); if( !_Compare_3 ) _Close_All_Long_Trades = Close_All_Long_Trades( 0 ); //Step 4 if( _AND ) _Buy = Buy( 0, 0.3, 250, 100, 5, 1, 0 ); if( _AND_1 ) _Sell = Sell( 0, 0.3, 250, 100, 5, 1, 0 ); return(0); }

    Comment est ce qu'on peut insérer le code pour n'avoir qu'un ordre par signal

    Merci
  • Gui205

    Déjà comme dis dans ton autre poste, il faudrait commencer par lui mettre une fonctionne d'OrderSend ?

    A la lecture global de ton code, ta fonction iCustom ne me semble pas bonne, tu ne peux pas mettre Symbol() ( A vérifié ), il serais plus judicieux de le déclarer dans une variable
    De cette manière double _Symbol=Symbol();

    Si sur ton EA tu n'utilisera qu'un seul symbol tu peux également laisse NULL ( Qui par defaut utilisera le symbol sur lequel sera ton robot ) .
    Modifié le 2013-07-27 00:28:35 par Gui205