Questions des débutants MQL5 MT5 MetaTrader 5 - page 1299

 
Alexey Viktorov:

Vous devez vérifier dans le débogueur. Je ne peux pas le dire avec certitude.

Je l'ai, merci.

 
Mes amis, veuillez me conseiller sur la manière de prescrire un code dans le conseiller afin de ne négocier que dans une seule direction : acheter ou vendre.
 
Alexanerhoch:
Mes amis, veuillez me conseiller sur la manière de prescrire un code dans le conseiller afin de ne négocier que dans une seule direction : acheter ou vendre.

F7 - généralités - shopping uniquement

 
Iurii Tokman:

F7 - généralités - achats uniquement

pas de telle chose dans mt5

 
Alexanerhoch:
Mes amis, veuillez me conseiller sur la manière de prescrire un code dans le conseiller afin de ne négocier que dans une seule direction : acheter ou vendre.

C'est comme ça ;

enum typ
  {
                        ty1=0,                  //Buy and Sell
                        ty2=1,                  //Only Buy
                        ty3=2                   //Only Sell
  };

input typ               TradesType=ty1;         //Type of trading operations
.
.
.
if(TradesType!=2 && ...
if(TradesType!=1 && ...
 
VVT:

C'est comme ça ;

Merci.

 

Bonjour, chers collègues. Je ne trouve pas d'erreur dans le code. La méthode .Magic() de la classeCPositionInfo donne la valeur correcte, si la transaction est ouverte directement dans le code via la classe Trade.mqh.

Si j'ouvre une transaction par le biais de Trade.mqh, mais qu'elle est appelée dans une autre classe, alors la méthode .Magic() donne 0 dans le code duconseiller expert. Pourquoi en est-il ainsi ?

Je joins le code.

Dossiers :
MQL5.zip  5 kb
 
Ildar Yusupov:

Bonjour, chers collègues. Je ne trouve pas d'erreur dans le code. La méthode .Magic() de la classeCPositionInfo donne la valeur correcte, si la transaction est ouverte directement dans le code via la classe Trade.mqh.

Si j'ouvre une transaction par le biais de Trade.mqh, mais qu'elle est appelée dans une autre classe, alors la méthode .Magic() donne 0 dans le code duconseiller expert. Pourquoi en est-il ainsi ?

Je joins le code.

Je n'ouvre pas le code)

Donc, la deuxième variante n'utilise pas Magic, regardez attentivement le code

 
Ildar Yusupov:

Bonjour, chers collègues. Je ne trouve pas d'erreur dans le code. La méthode .Magic() de la classeCPositionInfo donne la valeur correcte, si la transaction est ouverte directement dans le code via la classe Trade.mqh.

Si j'ouvre une transaction par le biais de Trade.mqh, mais qu'elle est appelée dans une autre classe, alors la méthode .Magic() donne 0 dans le code du conseiller expert. Pourquoi en est-il ainsi ?

Je joins le code.

Je n'ai même pas regardé les archives.

L'algorithme est toujours le suivant : vous créez 'm_trade' - objet de la classe CTrade. Si vous voulez qu'il fasse du commerce par sa magie - vous devez faire

   m_trade.SetExpertMagicNumber(InpMagic);

- C'est-à-dire que vous devez définir cette Magie pour l'objet de la classe CTrade.

 
Vitaly Muzichenko:

il n'y a pas de telle chose dans mt5.

Je le fais à l'ancienne, je ne peux pas m'en sortir...

Raison: