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

 
Kolya32:
Bonjour. Savez-vous s'il existe un ensemble de fonctions prêtes à l'emploi pour MQL5 ? Par exemple, la bibliothèque MQL4 d' Igor Kim, alias KimIV, https://www.mql5.com/ru/forum/131859.

Toutes ces fonctions peuvent être multiplateformes (fonctionner de la même manière dans MT4 et MT5 sans changer le code) si vous utilisez la bibliothèque MT4Orders.

 
fxsaber:

Toutes ces fonctions peuvent être multiplateformes (sans modifier le code pour qu'il fonctionne de la même manière dans MT4 et MT5) si vous utilisez la bibliothèque MT4Orders.

Merci. J'ai créé une EA dans mql5, j'ai tout copié de l'EA mql4 et ajouté la bibliothèque. Au début, il y avait 104 erreurs sans la bibliothèque et 74 avec la bibliothèque. C'est tout à fait compréhensible, car la description de la bibliothèque indique que celle-cinecouvreque le système d'ordres!Et j'ai beaucoup, beaucoup d'autres choses dans mon EA...
 
Kolya32:
J'ai créé un EA dans mql5 et j'ai tout copié à partir de celui-ci. J'ai créé un EA dans mql5, j'y ai copié tout ce qui se trouve dans mql4 et j'ai joint la bibliothèque. Au début, il y avait 104 erreurs sans la bibliothèque et 74 avec la bibliothèque. C'est tout à fait compréhensible, car la description de la bibliothèque indique que celle-cinecouvreque le système d'ordres!Et j'ai beaucoup, beaucoup d'autres choses dans mon EA...

Il existe de nombreux exemples de conversions d'EA utilisant cette méthode. Au départ, je ne parlais pas de votre EA, mais des fonctions de Kim.

 
fxsaber:

Il existe de nombreux exemples de conversions d'EA utilisant cette méthode. A l'origine, il ne s'agissait pas de votre EA, mais des fonctions de Kim.

Je comprends, merci. Je garderai à l'esprit qu'une telle bibliothèque existe, mais je dois encore apprendre MQL5. J'ai vu très peu d'exemples de fonctions MQL5 prêtes à l'emploi qui pourraient être refaites en MQL5.
 
Kolya32:
Je l'ai, merci. Je garderai à l'esprit qu'une telle bibliothèque existe, mais je dois encore apprendre MQL5. Il existe quelques exemples de fonctions MQL5 prêtes à l'emploi qui pourraient être refaites en MQL5.
Vous devez écrire pour vous-même. L'approche : une seule fonction pour toutes les occasions est erronée.
Quelle fonction voulez-vous réaliser dans MQL5 ?
 
Vladimir Karputov:
Vous devez écrire pour vous-même. L'approche : une seule fonction pour toutes les occasions est erronée.
Quelle fonction voulez-vous réaliser dans MQL5 ?

Un universel, qui pourrait couper des quidams pendant que l'ordinateur est éteint. Et de préférence en grosses coupures. Vous pouvez l'écrire en eurikas. ))))

 
Vladimir Karputov:
Vous devez l'écrire pour vous-même. L'approche : une seule fonction pour toutes les occasions est erronée.
Quelle fonction souhaitez-vous réaliser dans MQL5 ?

J'ai vraiment besoin d'une FONCTION MQL5 POUR VÉRIFIER SI UNE VENTE D'AUJOURD'HUI A ÉTÉ TERMINÉE. Si oui, alors vrai, si non, alors faux (avec Magic bien sûr). J'utilise cette fonction sur MT4.

bool isTradeToDay(string sy="", int op=-1) {
  int i, k=OrdersHistoryTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (Magic<0 || OrderMagicNumber()==Magic) {
              if (TimeDay  (OrderOpenTime())==Day()
              &&  TimeMonth(OrderOpenTime())==Month()
              &&  TimeYear (OrderOpenTime())==Year()) return(True);
            }
          }
        }
      }
    }
  }
  k=OrdersTotal();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (Magic<0 || OrderMagicNumber()==Magic) {
              if (TimeDay  (OrderOpenTime())==Day()
              &&  TimeMonth(OrderOpenTime())==Month()
              &&  TimeYear (OrderOpenTime())==Year()) return(True);
            }
          }
        }
      }
    }
  }
  return(False);
}
 
Kolya32:

J'ai vraiment besoin d'une FONCTION dans MQL5 qui vérifierait si une transaction a été effectuée aujourd'hui. Si oui, alors vrai, si non, alors faux (avec Magic set, bien sûr). J'utilise cette fonction sur MT4.

Veuillez d'abord essayer d'insérer le code correctement. Je ne veux pas regarder votre feuille de texte brut.
 
Vladimir Karputov:
Veuillez d'abord essayer d'insérer le code correctement. Aucune envie de regarder votre feuille de texte brut.
Corrigé)
 
Kolya32:

J'ai vraiment besoin d'une FONCTION dans MQL5 qui vérifierait si une transaction a été effectuée aujourd'hui. Si oui, alors vrai, si non, alors faux (avec Magic set, bien sûr). J'utilise cette fonction dans MT4.

Il est dans MQL5

bool  HistorySelect(
   datetime  from_date,     // с даты
   datetime  to_date        // по дату
   );

Valeur retournée

Renvoie la valeur true (vrai) en cas de succès, false (faux) dans le cas contraire.

Документация по MQL5: Торговые функции / HistorySelect
Документация по MQL5: Торговые функции / HistorySelect
  • www.mql5.com
Функция HistorySelect() создает в mql5-программе список ордеров и список сделок для дальнейшего обращения к элементам списка посредством соответствующих функций. Размер списка сделок можно узнать с помощью функции HistoryDealsTotal(), размер списка ордеров в истории можно получить с HistoryOrdersTotal(). Перебор элементов списка ордеров лучше...