[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 147

 
Que pensez-vous de celle-ci : "Si le prix de clôture d'une bougie est supérieur ou égal à MA 21, alors c'est une bougie verte, sinon c'est une bougie rouge. " ?
 
first_may:
Que pensez-vous de celle-ci : "Si le prix de clôture d'une bougie est supérieur ou égal à MA 21, alors c'est une bougie verte, sinon c'est une bougie rouge. " ?

Celui-ci ne fonctionne pas. Pas la meilleure, bien sûr.
 
Merci, je vais y réfléchir.
 
Vinin:

Avant le week-end, l'écart augmente. Et pas qu'un peu.

Vinin s'il vous plaît répondez les spreads reviendront-ils lundi et les résultats précédents reviendront-ils ? merci.
 
laveosa:

Vinin pouvez-vous s'il vous plaît me dire si les spreads reviendront lundi et si les résultats seront les mêmes qu'avant ? merci.

Ce qu'ils peuvent faire. Bien sûr qu'ils le feront.
 

Bonne nuit,

J'ai besoin d'une commande pour ouvrir un ordre après l'activation de l'EA, j'essaye la ligne suivante

int start()
{int j = OrdersTotal()-1 ; j >= 0 ; j--)
{
if(OrderSelect(j, SELECT_BY_POS)
}

return(0) ;
}

une erreur est déclenchée

Cette ligne a été trouvée dans les MT4 Tutoriels sur l'Internet

 
Dip:

Bonne nuit,

J'ai besoin d'une commande pour ouvrir un ordre après avoir entré dans une EA.

int start()
{int j = OrdersTotal()-1 ; j >= 0 ; j--)
{
si (OrderSelect(j, SELECT_BY_POS)
}

retour(0) ;
}

Je reçois une erreur

J'ai trouvé cette chaîne sur Internet dans les tutoriels MT4

Utilisez le Tutoriel et la Documentation ici sur le site web ci-dessus ! Vous devez tout faire en respectant strictement les règles, puis le logiciel donnera l'ordre d'ouvrir !
 
Dip:

Bonne nuit,

J'ai besoin d'une commande pour ouvrir un ordre après avoir branché un EA.

int start()
{int j = OrdersTotal()-1 ; j >= 0 ; j--)
{

if (OrderSelect(j, SELECT_BY_POS))

//si (OrderSelect(j, SELECT_BY_POS)
}

retour(0) ;
}

Je reçois une erreur

J'ai trouvé cette chaîne sur Internet dans des tutoriels MT4

Mais il n'y a pas de commande dans votre code pour ouvrir un ordre...
 

S'il vous plaît dites-moi pourquoi l'EA n'ouvre pas de trades Erreur 130.Stop Loss = 55 pips (4 chiffres des cotations)

 bool NewBar()
  {
       static datetime lastbar = 0;
       datetime curbar = iTime(Symbol(), 0, 0);
       if(lastbar!=curbar)
       {
             lastbar=curbar;
             return (true);
       }
       return(false);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
    int ticket;
    double price,takeprofit,stoploss,Lots;
//----
    double frUP = iFractals(NULL,0,MODE_UPPER,3);
    double frLOW = iFractals(NULL,0,MODE_LOWER,3);
    double lwma = iMA(NULL,0,PeriodLWMA,0,MODE_LWMA,PRICE_CLOSE,0);
    if(OrderType()==OP_BUYSTOP)
       {
       price = NormalizeDouble(frUP+(Ask-Bid)+30*Point,Digits);
       takeprofit = NormalizeDouble(price+tp*Point,Digits); 
       stoploss = NormalizeDouble(price-sl*Point,Digits);
       }
    if(OrderType()==OP_SELLSTOP)
       {
       price = NormalizeDouble(frLOW-30*Point,Digits);
       takeprofit = NormalizeDouble(price-tp*Point,Digits);
       stoploss = NormalizeDouble(price+sl*Point,Digits);
       }
       double MaxLot = MarketInfo(Symbol(),MODE_MAXLOT);
       double MinLot = MarketInfo(Symbol(),MODE_MINLOT);
       Lots = NormalizeDouble(AccountFreeMargin()/10*MaxRisk/1000,2);
    if(Lots>MaxLot)
       Lots = MaxLot;
    if(Lots<MinLot)
       Lots = Lot;
//----
    static bool flag = true;
    if(NewBar())
      flag = true;
      if(Ask>lwma && frUP>0 && flag)
         {
         ticket = OrderSend(Symbol(),OP_BUYSTOP,Lots,price,5,stoploss,takeprofit,"Fractal",123,0,Blue);
         Print("Ошибка № ",GetLastError());
         if(ticket>0 && GetLastError()==0)
            flag = false;
            return(ticket);
         }
//-------------------------------------------------------------------
    if(NewBar())
      flag = true;
      if(Bid<lwma && frLOW>0 && flag)
         {
         ticket = OrderSend(Symbol(),OP_SELLSTOP,Lots,price,5,stoploss,takeprofit,"Fractal",123,0,Red);
          Print("Ошибка № ",GetLastError());
         if(ticket>0 && GetLastError()==0)
            flag = false;
            return(ticket);
         }
  }
//+-------------------------------------
 
Konstebl:

S'il vous plaît dites-moi pourquoi l'EA n'ouvre pas de trades Erreur 130.Stop Loss = 55 pips (4 chiffres des cotations)


J'ai modifié un peu votre EA. J'ai mis une protection contre le mauvais prix d'ouverture.

 extern int PeriodLWMA=14;
 extern int tp=55;
 extern int sl=55;
 extern double MaxRisk=10;
 extern double Lot=0.1;
 bool NewBar()
  {
       static datetime lastbar = 0;
       datetime curbar = iTime(Symbol(), 0, 0);
       if(lastbar!=curbar)
       {
             lastbar=curbar;
             return (true);
       }
       return(false);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
    int ticket;
    double price,takeprofit,stoploss,Lots;
//----
    double frUP = iFractals(NULL,0,MODE_UPPER,3);
    double frLOW = iFractals(NULL,0,MODE_LOWER,3);
    double lwma = iMA(NULL,0,PeriodLWMA,0,MODE_LWMA,PRICE_CLOSE,0);
    frUP = iFractals(NULL,0,MODE_UPPER,3);
    frLOW = iFractals(NULL,0,MODE_LOWER,3);
       double MaxLot = MarketInfo(Symbol(),MODE_MAXLOT);
       double MinLot = MarketInfo(Symbol(),MODE_MINLOT);
       Lots = NormalizeDouble(AccountFreeMargin()/10*MaxRisk/1000,2);
    if(Lots>MaxLot)
       Lots = MaxLot;
    else Lots=Lot;
    if(Lots<MinLot)
       Lots = Lot;
//----
    static bool flag = true;
    if(NewBar())
      flag = true;
      if(Ask>lwma && frUP>Ask && frUP != EMPTY_VALUE && flag)
         {
         price = NormalizeDouble(frUP+(Ask-Bid)+30*Point,Digits);
         takeprofit = NormalizeDouble(price+tp*Point,Digits); 
         stoploss = NormalizeDouble(price-sl*Point,Digits);
         ticket = OrderSend(Symbol(),OP_BUYSTOP,Lots,price,5,stoploss,takeprofit,"Fractal",123,0,Blue);
         if(ticket>0 && GetLastError()==0)
            flag = false;
// Печатаем ошибку только в том случае, если она действительно случилась
         else Print("Ошибка № ",GetLastError()," OP_BUYSTOP Ask=",DoubleToStr(Ask,8)," Bid=",DoubleToStr(Bid,8)," OpenPrice=",DoubleToStr(price,8)," sl=",DoubleToStr(stoploss,8)," tp=",DoubleToStr(takeprofit,8));
            return(ticket);
         }
//-------------------------------------------------------------------
    if(NewBar())
      flag = true;
      if(Bid<lwma && frLOW<Bid && frLOW>0 && frLOW!=EMPTY_VALUE && flag)
         {
         price = NormalizeDouble(frLOW-30*Point,Digits);
         takeprofit = NormalizeDouble(price-tp*Point,Digits);
         stoploss = NormalizeDouble(price+sl*Point,Digits);
         ticket = OrderSend(Symbol(),OP_SELLSTOP,Lots,price,5,stoploss,takeprofit,"Fractal",123,0,Red);
         if(ticket>0 && GetLastError()==0)
            flag = false;
// Печатаем ошибку только в том случае, если она действительно случилась
          else Print("Ошибка № ",GetLastError()," OP_SELLSTOP Ask=",DoubleToStr(Ask,8)," Bid=",DoubleToStr(Bid,8)," OpenPrice=",DoubleToStr(price,8)," sl=",DoubleToStr(stoploss,8)," tp=",DoubleToStr(takeprofit,8));
            return(ticket);
         }
  }
Raison: