[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 - 2. - page 222

 
ramirez17:

Veuillez indiquer une erreur.


division par 0 - il devrait y avoir une division par zéro dans le journal de bord

au premier passage

i+Sell_bars-1
vous êtes en dehors de la taille autorisée des barres.
 
ramirez17, il est plus facile de trouver les maxima/minima en stochastique et de remplacer la formule stochastique par leur rapport.
 
maxstah:

Bonjour, pourriez-vous me dire où trouver un indicateur qui redessine les barres quotidiennes pour qu'elles commencent à une heure différente.

Par exemple : l'heure du terminal est 00:00. Dans les paramètres d'entrée de l'indicateur, nous mettons : +4. Maintenant les barres quotidiennes commencent à 4:00.

Merci d'avance.

MT4 dispose d'un convertisseur intégré. Service -> Archives des citations.
 

Bonjour.

J'ai une question en tant que débutant :

comment obtenir les données du Profit actuel pour les positions ouvertes; comment obtenir les données du solde actuel.

 
Roger:
Comme si le nouveau Pinocchio cherchait un champ de merveilles fiable. Ne soyez pas ridicule.)

Comme, le pétrosien intelligent veut faire une blague...))
 

Les gars, où est l'erreur.... je l'ai déjà adressée... voici le code...

Lorsque l'on trade sur le termenal avec un spread flottant(un chiffre de plus ajouté) le conseiller écrit une erreur, mauvais lot ... et avec un spread fixe, tout va bien et les trades ...

 GBPUSD,H1: OrderSend error 131

mais voici le code lui-même.... où se trouve l'erreur ???

 if(ExistPositions() > 0)   {
   for(cnt=0;cnt<OrdersTotal();cnt++)  { 
   OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC && OrderType()==OP_BUY)  {
         if(Ask-OrderOpenPrice() > (TrailingStop * Point))  { 
            if(OrderStopLoss() < (Ask - TrailingStop * Point)) { 
               OrderModify(OrderTicket(),
                           OrderOpenPrice(),
                           Ask - TrailingStop * Point,
                           Ask + sTakeProfit * Point,0,Aqua);
            return(0);  } // close for if(OrderStopLoss() < (Ask - TrailingStop * Point))
                        } // close for if(Ask-OrderOpenPrice() > (TrailingStop * Point))
                } // close for if(OrderSymbol()==Symbol() && OrderType()==OP_BUY)
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC && OrderType()==OP_SELL) {
                        if(OrderOpenPrice() - Bid > (TrailingStop * Point))   { 
                                if(OrderStopLoss() > (Bid + TrailingStop * Point))   { 
                           OrderModify(OrderTicket(),
                                       OrderOpenPrice(),
                                       Bid + TrailingStop * Point,
                                       Bid - sTakeProfit * Point,0,Magenta);
            return(0);  } 
                        } // close for if(OrderOpenPrice() - Bid > (TrailingStop * Point))
                 } // close for if(OrderSymbol()==Symbol() && OrderType()==OP_SELL)
          } // close for for(cnt=0;cnt<total;cnt++)
   } // close for if(TradesThisSymbol > 0)
}

bool ExistPositions() {
        for (int i=0; i<OrdersTotal(); i++) {
                if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
                        if (OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) {
                                return(True);
                        }
                } 
        } 
        return(false);
}



void OpenBuy() { 
   double ldLot, ldStop, ldTake; 
   string lsComm; 
   ldLot = GetSizeLot(); 
   ldStop = GetStopLossBuy(); 
   ldTake = GetTakeProfitBuy(); 
   lsComm = GetCommentForOrder(); 
   OrderSend(Symbol(),OP_BUY,ldLot,Ask,Slippage,ldStop,ldTake,lsComm,MAGIC,0,clOpenBuy); 
   if (UseSound) PlaySound(NameFileSound); 
} 
void OpenSell() { 
   double ldLot, ldStop, ldTake; 
   string lsComm; 

   ldLot = GetSizeLot(); 
   ldStop = GetStopLossSell(); 
   ldTake = GetTakeProfitSell(); 
   lsComm = GetCommentForOrder(); 
   OrderSend(Symbol(),OP_SELL,ldLot,Bid,Slippage,ldStop,ldTake,lsComm,MAGIC,0,clOpenSell); 
   if (UseSound) PlaySound(NameFileSound); 
} 
string GetCommentForOrder() {   return(Name_Expert); } 
double GetSizeLot() {   return(Lots); } 
double GetStopLossBuy() {       return (Bid-sStopLoss*Point);} 
double GetStopLossSell() {      return(Ask+sStopLoss*Point); } 
double GetTakeProfitSell() {    return(Bid-sTakeProfit*Point); } 
double GetTakeProfitBuy() {     return(Bid+sTakeProfit*Point); } 

return(0);

//+------------------------------------------------------------------+
 
Vovo4ka:

Comme, le pétrosien intelligent veut faire une blague...))

www.dukascopy.com mt4 et la technologie java, le dépôt minimum est de 1000 billets verts, je l'ai découvert récemment moi-même.
 
todem:

www.dukascopy.com mt4 et technologie java, dépt minimum 1000 vert, découvert moi-même récemment.

Merci beaucoup.
 
Si l'indicateur est dans une boucle infinie avec sleep, alors vous devez insérer une fonction comme if(!deinit) ?
 
Vovo4ka:

Les gars où est l'erreur.... déjà abordé ... voici le code ...

lorsque l'on trade sur les thermales avec un spread flottant (un chiffre de plus ajouté) le conseiller écrit une erreur, mauvais lot...

mais voici le code lui-même.... où se trouve l'erreur ???


normalisation des lots

double GetSizeLot() {   return(NormalizeDouble(Lots,2)); } 
Raison: