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

 
Artyom Trishkin:

Visualisez les transactions appartenant à la position et voyez leur volume.

Détachez simplement tous les métiers de position trouvés (propriétés de chacun) - déterminez ce que vous devez y rechercher.

Merci.

 

J'ai besoin d'aide pour créer un fichier, en particulier pour spécifier l'emplacement correct pour son stockage.

J'utilise la version portable de MT5 et j'ai besoin que le fichier soit créé dans le dossier MT5\MQL5\Files, mais il est créé dans MT5\Tester/Agent-127.0.0.1-3000\MQL5\Files pendant l'initialisation dans le testeur de stratégie.

   filename = (Dir=="" ? filename : Dir+"\\"+filename)+".csv";
   handle= Common ? FileOpen(filename,FILE_CSV|FILE_COMMON|FILE_READ|FILE_WRITE|FILE_SHARE_READ) :
                        FileOpen(filename,FILE_CSV|FILE_READ|FILE_WRITE|FILE_SHARE_READ);
 
Aleksey Vyazmikin:

J'ai besoin d'aide pour créer un fichier, en particulier pour spécifier l'emplacement correct pour son stockage.

J'utilise la version portable de MT5 et j'ai besoin que le fichier soit créé dans le dossier MT5\MQL5\Files pendant l'initialisation dans le testeur de stratégie, mais il est créé dans MT5\Tester/Agent-127.0.0.1-3000\MQL5\Files.

Il n'y a pas de solution dans le MQL pur. Vous devez utiliser WinAPI. Ou à la main)))

La façon dont les fichiers sont distribués a été spécialement conçue pour des raisons de sécurité.

 
Ihor Herasko:

Il n'y a pas de solution dans le MQL pur. Seulement en utilisant WinAPI. Ou à la main)))

Cette distribution de fichiers a été faite pour des raisons de sécurité.

L'optimiseur stocke les données non pas dans le dossier des agents, mais dans le dossierMT5\MQL5\Files - ce n'est pas logique.

 
if(crossed==1)
     {
      double sl=(InpStopLoss==0)?0.0:m_symbol.Bid()+ExtStopLoss;
      double tp=(InpTakeProfit==0)?0.0:m_symbol.Bid()-ExtTakeProfit;
      m_trade.Sell(InpLots,m_symbol.Name(),m_symbol.Bid(),
                   m_symbol.NormalizePrice(sl),
                   m_symbol.NormalizePrice(tp));
      datetime time=TimeCurrent();
      for(int i=0;i<4;i++)
        {

Comment définir un numéro magique différent pour la commande à passer dans ce code ? Différent de ce générique -

int OnInit()
//---
   m_trade.SetExpertMagicNumber(m_magic);
//---
 
ilyav:

Comment définir un numéro magique différent pour la commande à passer dans ce code ? Différent de ce générique -

Avant d'envoyer un ordre d'ouverture avec un magicien différent, exécutez cette ligne avec le magicien souhaité. Ensuite, remettez le magicien à sa place.
 
Veuillez me conseiller sur la façon de créer une fonction permettant de définir le nombre d'ordres requis ! Par exemple, pour ouvrir un nombre déterminé d'ordres sans plus. dans mql4
 
C'est le dernier paramètre de la fonction OrderSend dans MQL-4 :

arrow_color=clrNONE[in] La couleur de la flèche d'ouverture sur le graphique. Si CLR_NONE - il n'y a pas de flèche. Dans MT5, la flèche est toujours affichée - il n'y a pas de paramètre correspondant dans la structure MqlTradeRequest. Comment y faire face ? Il est facile de le faire sur votre carte. Cependant, si un autre graphique est ouvert pour le symbole, vous devez réessayer...


 
Лауреат:
Veuillez me conseiller sur la façon de créer une fonction qui fixe le bon nombre d'ordres! Par exemple, je veux qu'elle ouvre les ordres que nous avons spécifiés mais pas plus. en mql4
si(OrdersTotal() < OrdersMax) OrderSend(...) ; sinon Alert("Le nombre requis d'ordres est ouvert") ;
 
Artyom Trishkin:
Avant d'envoyer un ordre d'ouverture avec un autre magicien, exécutez cette ligne avec le magicien souhaité. Ensuite, remettez le magicien à sa place.


if(crossed==1)
     {
      m_trade.SetExpertMagicNumber(m_magic2); // меняем мэджик на новый
      double sl=(InpStopLoss==0)?0.0:m_symbol.Bid()+ExtStopLoss;
      double tp=(InpTakeProfit==0)?0.0:m_symbol.Bid()-ExtTakeProfit;
      m_trade.Sell(InpLots,m_symbol.Name(),m_symbol.Bid(),
                   m_symbol.NormalizePrice(sl),
                   m_symbol.NormalizePrice(tp));
      m_trade.SetExpertMagicNumber(m_magic);  // меняем мэджик на оригинал
      datetime time=TimeCurrent();
      for(int i=0;i<4;i++)
        {
Est-ce exact ? Merci.