Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 390

 

Karputov Vladimir:
Пожалуйста, всегда уточняйте для какой версии MQL4 или MQL5 Ваш вопрос. 

MQL5

 

Signori programmatori!

In MQL5, come posso sincronizzare le barre su diverse coppie di valute nel tempo?

Prima era "iBarShift", ma come è stato sostituito?

 
new-rena:

Signori programmatori!

In MQL5, come posso sincronizzare le barre su diverse coppie di valute in base al tempo?

Prima era "iBarShift", ma come è stato sostituito?

CopyTime()

 
pako:

Grazie, l'ho trovato. ho fatto quello che volevo in pochi minuti. grande articolo. complimenti allo sviluppatore!

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

//+------------------------------------------------------------------+
//| --- ФУНКЦИЯ iBarShif t
//+------------------------------------------------------------------+   
int iBarShift(string symbol,int tf,datetime time)
   {
      if(time<0) return(-1);
      ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
      datetime Arr[],time1;
      CopyTime(symbol,timeframe,0,1,Arr);
      time1=Arr[0];
      if(CopyTime(symbol,timeframe,time,time1,Arr)>0)
        {
         if(ArraySize(Arr)>2) return(ArraySize(Arr)-1);
         if(time<time1) return(1);
         else return(0);
        }
      else return(-1);
   }
Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • 2010.05.11
  • Sergey Pavlov
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
 

Ciao!

Potete per favore consigliarmi come ottenere informazioni sui trade aperti e chiusi nel codice di MQL5 Expert Advisor (quale prezzo è stato aperto, quali erano il TP e lo SL)? Almeno per 1 ultimo trade.

E c'è qualche funzione o libreria integrata che restituisce un array con n ultimi valoridi media mobile(preferibilmente ponderata o esponenziale)?

 
Сергей Михеев:

Grazie!

E per favore consigliate, se c'è qualche costrutto in MQ4 come array associativo con chiavi di testo, per esempio: Array["Ecco la chiave!"]?

Sì, c'è. Leggete l'articolo su questo argomento:"MQL5 Recipes - Implementing an Associative Array or Dictionary for Quick Data Access".

Karputov Vladimir:
Gli elementi di una matrice sono accessibili tramite un indice. L'indice è il tipo intero int.

Vi consiglio di leggere anche l'articolo.

 
Сергей Михеев:

Buona giornata a tutti!

Ho bisogno di ottenere dal campo di input nella finestra EA il timeframe selezionato dall'utente dall'elenco a discesa. Come faccio a incollarlo nella funzione, ci sto lottando per il secondo giorno di fila, per favore ditemelo)!

Codice:

input enum timeFrame {
Ora_1 = 60,
Ora_4 = 240,
Giorno_1 = 1440,
Settimana_1 = 10080

};

iADX(currencySelect, THIS IS HOW TO INSTALL SELECTED DATA!, ADXparam, PRICE_CLOSE, MODE_MINUSDI,2)

Grazie!

Non reinventare la ruota. Rendere l'enumerazione ENUM_TIMEFRAMES come parametro di ingresso.

Karputov Vladimir:

Inserire correttamente il codice sul forum

Ecco un esempio di uno script che usa la tua enumerazione:

Perché consiglia un approccio sbagliato? Lei sa bene che non ha senso inventare la propria enumerazione di tempi.

 
Gente!!! Non capisco il linguaggio in cui sono scritti gli esperti e gli script in MT4 in questi giorni. Se ho iniziato a sostituire tutte le funzioni nel mio codice con funzioni MQL5, MetaEditor dal terminale MT4, non ha riconosciuto tutte le funzioni come funzioni! Per esempio questa funzione

ulong a =OrderGetTicket( 1); // numero nella lista degli ordini

MetaEditor non considera questafunzione come una funzione. E il parametro(ORDER_POSITION_ID) nella funzione ---> positionID = OrderGetInteger(ORDER_POSITION_ID); non è affatto considerato come parametro...


 
Ciao, puoi dirmi perché i miei pulsanti di debug non sono attivi in metaeditore????source è inserito
 
Kira27:
Gente!!! Non capisco il linguaggio in cui sono scritti gli esperti e gli script in MT4 in questi giorni. Se ho iniziato a sostituire tutte le funzioni nel mio codice con funzioni MQL5, MetaEditor dal terminale MT4, non ha riconosciuto tutte le funzioni come funzioni! Per esempio questa funzione

ulong a =OrderGetTicket( 1); // numero nella lista degli ordini

MetaEditor non considera questafunzione come una funzione. E il parametro(ORDER_POSITION_ID) nella funzione ---> positionID = OrderGetInteger(ORDER_POSITION_ID); non è affatto considerato come parametro...


Molto probabilmente, le funzioni di cui sopra sono definite dall'utente e MU non ha bisogno di conoscerle. Dovete dichiararli e chiamarli correttamente voi stessi.