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 50 dany31000 est sur la route de la réputation...
    Date d'inscription
    November 2009
    Messages
    52
    Pouvoir de réputation
    5

    reparer mon ea svp reparer mon ea svp

    bonjour, j'ai besoin de votre aide car je n'arrive pas a le faire fonctionner mon ea je souhaite qu'il m'achete au plus haut de jour precedent (d1) et qu il me vend au plus bas (d1) pourriez vous m'aider svp merci .
    Dernière modification par dany31000 ; 03/12/2010 à 18h11.

  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

    j'ai ca

    double hautveille =iHigh(NULL,PERIOD_D1,Current+1);
    double basveille = iLow(NULL,PERIOD_D1,Current+1);




    if ( Bid > hautveille )Order = SIGNAL_BUY;

    if (Ask < basveille )Order = SIGNAL_SELL;

  3. #3
    Membre lvl 50 dany31000 est sur la route de la réputation...
    Date d'inscription
    November 2009
    Messages
    52
    Pouvoir de réputation
    5

    ca marche mais le probleme ce qu'il m'acheté pas au plus haut de la bougie pourquoi ?
    Images attachées

  4. #4
    Membre lvl 25 Chris128 est sur la route de la réputation... Avatar de Chris128
    Date d'inscription
    December 2008
    Messages
    38
    Pouvoir de réputation
    6

    Salut Dany31000,

    extern bool EachTickMode = False;

    Je pense qu'il faut mettre "True" à la place de "False".

  5. #5
    Membre lvl 50 dany31000 est sur la route de la réputation...
    Date d'inscription
    November 2009
    Messages
    52
    Pouvoir de réputation
    5

    Non ca ma fait la meme chose il achete a la cloture de la bougie je croit !

    tu n'as pas une autre idée car moi je lui demande qu'il m'achete ou qu il me vend s'il la bougie depasse la precedente .

    merci

  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

    voila ca marche mais tu va tomber sur d'autre pb maintenant
    comme un trade dans chaque sens en même temps etc..
    car Expert Advisor Builder ne sait pas gérer plusieurs trade dans le même sens
    et j'ai vraiment pas le temps de t'aider plus


    //+------------------------------------------------------------------+
    //| This MQL is generated by Expert Advisor Builder |
    //| Expert Advisor Builder for metatrader 4 |
    //| |
    //| In no event will author be liable for any damages whatsoever. |
    //| Use at your own risk. |
    //| |
    //+------------------- DO NOT REMOVE THIS HEADER --------------------+

    #define SIGNAL_NONE 0
    #define SIGNAL_BUY 1
    #define SIGNAL_SELL 2
    #define SIGNAL_CLOSEBUY 3
    #define SIGNAL_CLOSESELL 4

    #property copyright "Expert Advisor Builder"
    #property link "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/"

    extern int MagicNumber = 0;
    extern bool SignalMail = False;
    extern bool EachTickMode = False;
    extern double Lots = 1.0;
    extern int Slippage = 3;
    extern bool UseStopLoss = True;
    extern int StopLoss = 300;
    extern bool UseTakeProfit = True;
    extern int TakeProfit = 600;
    extern bool UseTrailingStop = True;
    extern int TrailingStop = 300;

    int BarCount;
    int Current;
    bool TickCheck = False;
    //+------------------------------------------------------------------+
    //| expert initialization function |
    //+------------------------------------------------------------------+
    int init() {
    BarCount = Bars;

    if (EachTickMode) Current = 0; else Current = 1;

    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert deinitialization function |
    //+------------------------------------------------------------------+
    int deinit() {
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert start function |
    //+------------------------------------------------------------------+
    int start() {
    int Order = SIGNAL_NONE;
    int Total, Ticket;
    double StopLossLevel, TakeProfitLevel;



    if (EachTickMode && Bars != BarCount) TickCheck = False;
    Total = OrdersTotal();
    Order = SIGNAL_NONE;

    //+------------------------------------------------------------------+
    //| Variable Begin |
    //+------------------------------------------------------------------+

    double Var1 = iHigh(NULL, PERIOD_D1, Current + 0);

    double Buy1_1 = iHigh(NULL, PERIOD_D1, Current + 1);
    double Buy1_2 = iOpen(NULL, 0, Current + 0);

    double Sell1_1 = iLow(NULL, PERIOD_D1, Current + 1);
    double Sell1_2 = iOpen(NULL, 0, Current + 0);




    //+------------------------------------------------------------------+
    //| Variable End |
    //+------------------------------------------------------------------+

    //Check position
    bool IsTrade = False;

    for (int i = 0; i < Total; i ++) {
    OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
    if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {
    IsTrade = True;
    if(OrderType() == OP_BUY) {
    //Close

    //+------------------------------------------------------------------+
    //| Signal Begin(Exit Buy) |
    //+------------------------------------------------------------------+



    //+------------------------------------------------------------------+
    //| Signal End(Exit Buy) |
    //+------------------------------------------------------------------+

    if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
    OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen);
    if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");
    if (!EachTickMode) BarCount = Bars;
    IsTrade = False;
    continue;
    }
    //Trailing stop
    if(UseTrailingStop && TrailingStop > 0) {
    if(Bid - OrderOpenPrice() > Point * TrailingStop) {
    if(OrderStopLoss() < Bid - Point * TrailingStop) {
    OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);
    if (!EachTickMode) BarCount = Bars;
    continue;
    }
    }
    }
    } else {
    //Close

    //+------------------------------------------------------------------+
    //| Signal Begin(Exit Sell) |
    //+------------------------------------------------------------------+



    //+------------------------------------------------------------------+
    //| Signal End(Exit Sell) |
    //+------------------------------------------------------------------+

    if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
    OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange);
    if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Close Sell");
    if (!EachTickMode) BarCount = Bars;
    IsTrade = False;
    continue;
    }
    //Trailing stop
    if(UseTrailingStop && TrailingStop > 0) {
    if((OrderOpenPrice() - Ask) > (Point * TrailingStop)) {
    if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) {
    OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange);
    if (!EachTickMode) BarCount = Bars;
    continue;
    }
    }
    }
    }
    }
    }

    //+------------------------------------------------------------------+
    //| Signal Begin(Entry) |
    //+------------------------------------------------------------------+

    if ( Bid >= Buy1_1) Order = SIGNAL_BUY;

    if (Ask <= Sell1_1 ) Order = SIGNAL_SELL;


    //+------------------------------------------------------------------+
    //| Signal End |
    //+------------------------------------------------------------------+

    //Buy
    if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
    if(!IsTrade) {
    //Check free margin
    if (AccountFreeMargin() < (1000 * Lots)) {
    Print("We have no money. Free Margin = ", AccountFreeMargin());
    return(0);
    }

    if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;
    if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0;

    Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);
    if(Ticket > 0) {
    if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
    Print("BUY order opened : ", OrderOpenPrice());
    if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy");
    } else {
    Print("Error opening BUY order : ", GetLastError());
    }
    }
    if (EachTickMode) TickCheck = True;
    if (!EachTickMode) BarCount = Bars;
    return(0);
    }
    }

    //Sell
    if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
    if(!IsTrade) {
    //Check free margin
    if (AccountFreeMargin() < (1000 * Lots)) {
    Print("We have no money. Free Margin = ", AccountFreeMargin());
    return(0);
    }

    if (UseStopLoss) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0;
    if (UseTakeProfit) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0;

    Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", MagicNumber, 0, DeepPink);
    if(Ticket > 0) {
    if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
    Print("SELL order opened : ", OrderOpenPrice());
    if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
    } else {
    Print("Error opening SELL order : ", GetLastError());
    }
    }
    if (EachTickMode) TickCheck = True;
    if (!EachTickMode) BarCount = Bars;
    return(0);
    }
    }

    if (!EachTickMode) BarCount = Bars;

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

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

    oups erreur de ma part j'avais pas vu ca


    //Check position
    bool IsTrade = False;

    for (int i = 0; i < Total; i ++) {
    OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
    if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {
    IsTrade = True;
    if(OrderType() == OP_BUY) {
    //Close


    c'est ce qui limite le nb trade en cour

  8. #8
    Membre lvl 50 dany31000 est sur la route de la réputation...
    Date d'inscription
    November 2009
    Messages
    52
    Pouvoir de réputation
    5

    merci mais le problème n'est toujours pas résolut je te joint une image,

    j'ai essaié tout je ne suis pas arriver comment je dois faire ?

    merci
    Images attachées

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

    effectivement moi j ai testé sur du M15 et ca marche

  10. #10
    Membre lvl 25 Chris128 est sur la route de la réputation... Avatar de Chris128
    Date d'inscription
    December 2008
    Messages
    38
    Pouvoir de réputation
    6

    Voici un EA, tu peux gérer les Stop, trailing etc...
    tu peux même utiliser une martingale.

    Bonne soirée.
    Fichiers attachés

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