Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1637

 
Nerd Trader #:
Je ne savais pas qu'il y avait un ObjectsDeleteAll.

Je l'utilise partout

   ObjectsDeleteAll(0,Prefix);
 
MakarFX #:

Je l'utilise partout

J'ai l'habitude de devoir tout faire moi-même en C, mais mql4 a des solutions toutes faites.
 
Nerd Trader #:
Je ne savais pas qu'il existait ObjectsDeleteAll et je veux maintenant en avoir le cœur net.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Toutes les questions des débutants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes.

Artyom Trishkin, 2021.09.30 05:31

Vous pouvez le supprimer. Si vous avez déjà compris la raison, il est préférable de la comprendre une fois, afin de ne pas essayer de la refaire.

Lorsqu'on supprime un objet d'un tableau, la position du suivant est déplacée dans le tableau et l'index de la boucle pointe maintenant vers où ? Pensez-y.


 
Artyom Trishkin #:

Je l'ai, merci.
 
Valeriy Yastremskiy #:

Imprimez le numéro, le ticket et le type de commande avant le deuxième if et à l'intérieur du deuxième if.

Je l'ai. Je l'ai essayé. Ça compte, mais ce n'est pas tout à fait ça. Il compte les commandes au tick. J'ai besoin de l'avant-dernier ordre en haut de la grille. Si le prix baisse et qu'un autre ordre est ouvert, l'avant-dernier ordre est celui dont le OrderOpenPrice est maximal.

 
ObjectsDeleteAll est bien. Mais si vous avez besoin de ne pas TOUT supprimer, vous ne pouvez pas le faire sans une boucle avec des conditions ! Et c'est là que réside la règle d'or : il faut commencer par la fin !
 
pribludilsa #:
Comment travailler avec un fichier dans un programme mql5 sans écrire le fichier sur le disque, mais en travaillant uniquement en RAM, pour accélérer. Je veux transférer des données d'un programme mql5 à un programme sur mon ordinateur.

C'est ici :

https://www.mql5.com/ru/articles/503

Связь с MetaTrader 5 через именованные каналы без применения DLL
Связь с MetaTrader 5 через именованные каналы без применения DLL
  • www.mql5.com
Перед многими разработчиками встает одинаковая проблема - как пробиться в песочницу торгового терминала без применения небезопасных DLL. Одним из простых и безопасных методов является использование стандартных именованных каналов (Named Pipes), которые работают как обычные файловые операции. Они позволяют организовать межпроцессорное клиент-серверное взаимодействие между программами. Посмотрите практические примеры на C++ и MQL5 в виде сервера, клиента, обмен данными между ними и замер производительности.
 
makssub #:

J'y suis. Je l'ai essayé. Ça compte, mais ce n'est pas tout à fait ça. Il compte les commandes au tick. J'ai besoin de l'avant-dernier ordre en haut de la grille. Si le prix baisse et qu'un autre ordre est ouvert, l'avant-dernier ordre est celui dont le OrderOpenPrice est maximal.

double FindOpenPrice(int a=-1)// 0 - макс, 1 - мин
{
   double maxopenprice=0;
   double minopenprice=DBL_MAX;
   double openprice=0;
   
   for(int cnt=OrdersTotal()- 1 ; cnt>=0; cnt--)
   {
      if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES))
      {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_BUY)
         {
            if (OrderType() == OP_SELL || OrderType() == OP_BUY)
            {
               if (a==0 && maxopenprice<OrderOpenPrice())
               {
               maxopenprice = OrderOpenPrice(); openprice=maxopenprice ;
               }
               if (a==1 && minopenprice>OrderOpenPrice())
               {
               minopenprice= OrderOpenPrice(); openprice=minopenprice;
               }
            }
         }
      }
   }
   return(openprice);
}
 
makssub #:

J'y suis. Je l'ai essayé. Ça compte, mais ce n'est pas tout à fait ça. Il compte les commandes au tick. J'ai besoin de l'avant-dernier ordre en haut de la grille. Si le prix baisse et qu'un autre ordre est ouvert, l'avant-dernier ordre est celui dont le OrderOpenPrice est maximal.

Ne cherchez donc pas par prix mais par heure d'ouverture.
 
MakarFX #:

Le dernier sort, pas l'avant-dernier(




Raison: