[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 170

 
Roman.:


Comme si ça n'allait pas le faire ?

et puis il y a quelque chose comme ça à exclure, pour que vous vous fichiez de la construction...

Il n'existe pas de fonctions ou de macros dans MQL4 qui renvoient le numéro de build.
 
Zhunko:
Il n'existe pas de fonctions ou de macros dans MQL4 qui renvoient le numéro de build.


Je l'ai maintenant. Senkue.

Je pensais qu'il était possible de tout faire par analogie en supprimant un morceau de code du tutoriel fi nal responsable de la négociation des hiboux uniquement sur un certain compte, mot de passe, etc.

 
Bonjour à tous. Aidez-moi, s'il vous plaît.

Voici l'essentiel : Il existe un robot qui place automatiquement des ordres en attente, à un certain prix.

Nous devons interdire la passation d'un ordre, à condition que l'ordre ou une transaction à ce prix soient ouverts.

J'essaie depuis trois jours, sans succès.
 

il existe plusieurs options.... faites le test.

//
// проверим среди Выставленных ордеров /сработавших/ - есть ли Байка
//
void CheckOrdBye()
{
  int total = OrdersTotal();
  int TotalOpenOrders = 0;
  for( int cnt=0; cnt<total; cnt++){
     if (OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) == true)  {
        if (OrderSymbol()==Symbol() ) {
            if ( OrderType() == OP_BUY)   { OrdYN = 1; return;}
            if ( OrderType() == OP_SELL)  { OrdYN = 2; return;}
        }
     }
  }
}
 
bestfx:
Bonjour à tous. Aidez-moi, s'il vous plaît.

Voici l'essentiel : Il existe un robot qui place automatiquement les ordres en attente, à un certain prix. ...

Placez ceci devant le bloc d'envoi de la commande :
if (OrdersTotal()>0)
{  for (int i=OrdersTotal()-1; i>=0; i--)
   {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      if (OrderSymbol()!=Symbol()) continue;
      if (OrderOpenPrice()==bad_price) // bad_price - значение цены при котором не хотите выставить очередной ордер
      return(0);
}  }
 
Aleksander:

il existe plusieurs options.... faites le test.



Pourriez-vous commenter le code ? Ce n'est pas clair ce qu'il faut faire.
 
paladin80:
Placez ceci avant le bloc d'envoi de la commande :


Que se passe-t-il s'il y a, par exemple, 30 commandes ?

L'essentiel est le suivant : deux transactions opposées avec une différence de 40 points par rapport au prix moyen jusqu'à trois décimales sont placées.

Disons 1.251 pour l'eur/usd, c'est-à-dire acheter 1.253 vendre 1.249, puis le marché, par exemple, écrase le prix d'achat et revient à 1.251 et maintenant il place deux autres ordres aux mêmes prix. Et pendant que le marché se déplace vers le prix d'achat, le script peut placer autant d'ordres supplémentaires et ils doivent être traités de la même manière, c'est-à-dire un prix = un ordre. Comment mettre cela en œuvre ?

 
bestfx:


Que se passe-t-il s'il y a 30 commandes, par exemple ?

L'essentiel est le suivant : deux transactions opposées avec une différence de 40 points par rapport au prix moyen jusqu'à trois décimales sont placées.

Disons 1.251 pour l'eur/usd, c'est-à-dire acheter 1.253 vendre 1.249, puis le marché, par exemple, écrase le prix d'achat et revient à 1.251 et maintenant il place deux autres ordres aux mêmes prix. Et pendant que le marché se déplace vers le prix d'achat, le script peut placer autant d'ordres supplémentaires et ils doivent être traités de la même manière, c'est-à-dire un prix = un ordre. Comment mettre cela en œuvre ?


Il suffit de faire la magie == prix
 
FAQ:

Il suffit de faire la magie == prix

Pourriez-vous être un peu plus précis ?
 
Diviser le prix par les chiffres = le réduire à un nombre entier et l'écrire dans un medjic, puis rechercher le medjic dans le tableau des ordres ouverts avant de passer un nouvel ordre.