Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 979

 
Kolya32:
Salve. Sapete se esiste un insieme di funzioni pronte all'uso per MQL5? Per esempio, la libreria MQL4 di Igor Kim aka KimIV https://www.mql5.com/ru/forum/131859

Tutte queste funzioni possono essere multipiattaforma (lavorano allo stesso modo in MT4 e MT5 senza cambiare il codice) se si usa la libreria MT4Orders.

 
fxsaber:

Tutte queste funzioni possono essere multipiattaforma (senza cambiare il codice per lavorare allo stesso modo in MT4 e MT5) se si utilizza la libreria MT4Orders.

Grazie. Ho creato un EA in mql5, copiato tutto da mql4 EA e aggiunto la libreria. All'inizio c'erano 104 errori senza la libreria e 74 con la libreria. Questo è abbastanza comprensibile, perché la descrizione della biblioteca dice che la biblioteca copresolo il sistema degli ordini!E ho tante e tante altre cose nella mia EA...
 
Kolya32:
Ho creato un EA in mql5 e ho copiato tutto da esso. Ho creato un EA in mql5, ho copiato tutto da mql4 e ho allegato la libreria. All'inizio c'erano 104 errori senza la libreria e 74 con la libreria. Questo è abbastanza comprensibile, perché la descrizione della biblioteca dice che la biblioteca copresolo il sistema degli ordini!E ho tante e tante altre cose nella mia EA...

Ci sono molti esempi di conversioni EA che utilizzano questo metodo. Inizialmente non stavo parlando della tua EA, ma delle funzioni di Kim.

 
fxsaber:

Ci sono molti esempi di conversioni EA che utilizzano questo metodo. Originariamente, questo non riguardava la tua EA, ma le funzioni di Kim.

Capisco, grazie. Terrò presente che esiste una tale libreria, ma ho ancora bisogno di imparare MQL5. Ho visto pochissimi esempi di funzioni MQL5 già pronte che potrebbero essere rifatte in MQL5.
 
Kolya32:
Ho capito, grazie. Terrò presente che esiste una tale libreria, ma ho ancora bisogno di imparare MQL5. Ci sono pochi esempi di funzioni MQL5 già pronte che potrebbero essere rifatte in MQL5.
Devi scrivere per te stesso. L'approccio: una funzione per tutte le occasioni è sbagliato.
Che funzione volete fare in MQL5?
 
Vladimir Karputov:
Devi scrivere per te stesso. L'approccio: una funzione per tutte le occasioni è sbagliato.
Che funzione volete fare in MQL5?

Uno universale, che potrebbe tagliare il quid mentre il computer è spento. E preferibilmente in grandi denominazioni. Puoi scriverlo su eurynotes. ))))

 
Vladimir Karputov:
Devi scriverlo per te stesso. L'approccio: una funzione per tutte le occasioni è sbagliato.
Quale funzione vorreste fare in MQL5?

Ho davvero bisogno di una FUNZIONE MQL5 per controllare se la vendita di oggi è terminata. Se sì, allora vero, se no, allora falso (con Magic ovviamente). Uso questa funzione su 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:

Ho davvero bisogno di una FUNZIONE in MQL5 che controlli se è stato fatto uno scambio oggi. Se sì, allora vero, se no, allora falso (con Magic impostato, ovviamente). Uso questa funzione su MT4.

Per favore, provate prima a inserire il codice correttamente. Non voglio guardare il tuo foglio di testo.
 
Vladimir Karputov:
Per favore, provate prima a inserire il codice correttamente. Nessuna voglia di guardare il tuo foglio di testo semplice.
Corretto)
 
Kolya32:

Ho davvero bisogno di una FUNZIONE in MQL5 che controlli se è stato fatto uno scambio oggi. Se sì, allora vero, se no, allora falso (con Magic impostato, ovviamente). Uso questa funzione in MT4.

È in MQL5

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

Valore restituito

Restituisce true se ha successo, altrimenti false.

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