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

 
odyn:

Veuillez expliquer.

La fonctionOnTradeTransaction.

Doit-il être dans le conseiller expert ?

Si non, dans quels cas doit-elle être incluse dans le code ? et pourquoi ?

Seuls OnInit() et OnTick() sont obligatoires, les autres sont facultatifs. La raison en est clairement décrite dans la documentation du langage.

Le moteur du forum a mis un lien vers le nom de la fonction, cliquez dessus et lisez-le.
 
Alexey Viktorov:

Seuls OnInit() et OnTick() sont obligatoires, les autres sont à la discrétion du codeur. Pourquoi est-ce clairement décrit dans la documentation du langage.

Le moteur du forum a mis un lien vers le nom de la fonction, afin que nous puissions le lire.

Je ne pose une question que lorsque je ne comprends pas l'explication donnée dans la documentation, les articles et le forum.

Si c'était "clairement décrit", je ne demanderais pas.

Cette fonction est conçue pour traiter les résultats d'une demande de transaction. Cette fonction ne renvoie rien.

La fonction ne lui est pas nécessaire.

Ainsi, la fonction est nécessaire lorsque le conseiller expert reçoit les résultats du traitement des demandes du serveur ? Mais aucun conseiller expert ne les envoie ? Ainsi, la fonction doit toujours être insérée dans le conseiller expert ?

 

Bonjour ! Question pour les utilisateurs expérimentés !

MQL5 a OBJ_CHART.

Comment utiliser des indicateurs, en particulier MA, dans OBJ_CHART, et si cela est possible ?

 
odyn:

Je ne pose une question que lorsque je ne comprends pas l'explication donnée dans la documentation, dans les articles et dans le forum.

Si c'était "clairement décrit", je ne demanderais pas.

Cette fonction est destinée à traiter les résultats d'une demande de transaction. Cette fonction ne renvoie rien.

La fonction ne lui est pas nécessaire.

Ainsi, la fonction est nécessaire lorsque le conseiller expert reçoit les résultats du traitement des demandes du serveur ? Mais aucun conseiller expert ne les envoie ? Ainsi, la fonction doit toujours être insérée dans le conseiller expert ?

Certains programmeurs sont coincés avec ces exemples qu'ils maîtrisaient déjà dans mql4 et ne peuvent s'en détacher. La fonction OnTradeTransaction() est comme la queue d'un chien pour ces programmeurs. Mais si vous voulez, par exemple, détecter facilement un événement lorsqu'un ordre en attente est activé, il n'y a pas plus simple que de le faire dans OnTradeTransaction(). Si vous avez besoin de prendre une décision et d'exécuter certaines actions au moment de la clôture de la position, vous trouverez cela aussi simple que OnTradeTransaction(). Et s'il est nécessaire d'effectuer certaines actions lors de la fermeture par TP, et d'autres actions lors de la fermeture par SL, cela ne peut pas être fait plus facilement que dans OnTradeTransaction().

Mais¡¡¡ maintenant, ceux dont j'ai parlé vont venir et commencer à spéculer sur le nombre de millisecondes qu'il y a ici et là... En somme, c'est l'amateur qui décide. Si vous êtes intéressé, exécutez-le et voyez ce que vous pouvez obtenir dans OnTradeTransaction() et réfléchissez à la façon dont vous pouvez l'utiliser pour vous-même.

 

Dites-moi, si je dois ouvrir deux transactions en même temps, mais vérifier s'il y a une erreur lors de l'ouverture de l'une d'entre elles, comment puis-je attraper l'erreur ?

Existe-t-il une fonction qui renvoie la possibilité d'ouvrir une transaction sur un actif ?

 
Alexey Viktorov:


Merci pour la réponse !

 

Je ne peux pas ouvrir le fichier dans le testeur. Je reçois l'erreur 5004.

int               m_file_handle;
short             m_delimiter;

m_delimiter='\t';
m_file_handle=FileOpen(m_filename,FILE_READ|FILE_CSV,m_delimiter);
if(m_file_handle==INVALID_HANDLE)
  {
   Print(__FUNCTION__+": file open failed. Error: ",GetLastError());
   return false;
  }

C'est un fichier csv normal avec une tabulation comme séparateur. Je l'ai mis dans le dossier MQL5\Files de l'agent. Après avoir essayé de l'ouvrir, le fichier disparaît.

 
leonerd:

Je ne peux pas ouvrir le fichier dans le testeur. Je reçois l'erreur 5004.

C'est un fichier csv normal avec une tabulation comme séparateur. Je l'ai mis dans le dossier MQL5\Files de l'agent. Le fichier disparaît après avoir essayé de l'ouvrir.

ok, sans #property tester_file apparemment ne fonctionne pas.

 
Roman Sharanov:

Dites-moi, si je dois ouvrir deux transactions en même temps, mais vérifier s'il y a une erreur lors de l'ouverture de l'une d'entre elles, comment puis-je attraper l'erreur ?

Existe-t-il une fonction qui renvoie la possibilité d'ouvrir une transaction sur un actif ?

Utilisez OnTradeTransaction().

 

Veuillez suggérer un analogue de la fonction MQL4 MarketInfo(asymbol, MODE_MARGIN_REQUIRED) dans MQL5.

J'ai besoin d'obtenirle montant des fonds libres nécessaires pour ouvrir un lot à acheter.

J'ai essayé différentes variantes de la fonction SymbolInfoDouble(symbol, ...) dans MQL5, je n'arrive pas à trouver la bonne variante, elle renvoie 0 partout.

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о счете
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о счете
  • www.mql5.com
, то позиции по каждому символу разрешается закрывать только в том порядке, в котором они были открыты — сначала самую старую, затем более новую и т.д. При попытке закрыть позиции в ином порядке будет получена ошибка. Уровень залоговых средств, при достижении которого происходит принудительное закрытие самой убыточной позиции (Stop Out...