Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 390

 

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

MQL5

 

¡Señores programadores!

En MQL5, ¿cómo puedo sincronizar barras en diferentes pares de divisas en el tiempo?

Antes era "iBarShift", pero ¿cómo se sustituyó?

 
new-rena:

¡Señores programadores!

En MQL5, ¿cómo puedo sincronizar barras en diferentes pares de divisas por tiempo?

Antes era "iBarShift", pero ¿cómo se sustituyó?

CopyTime()

 
pako:

Gracias, lo encontré. Hice lo que quería en unos minutos. gran artículo. ¡felicitaciones al desarrollador!

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.
 

¡Hola!

¿Puede usted por favor aconsejar cómo obtener información sobre las operaciones abiertas y cerradas en el código MQL5 Expert Advisor (qué precio se abrió, lo que eran el TP y SL)? Por lo menos para 1 última operación.

¿Y hay alguna función o biblioteca incorporada que devuelva un array con n últimos valoresde la media móvil(preferiblemente ponderada o exponencial)?

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

Gracias.

Y, por favor, aconséjeme si existe una construcción de este tipo en MQ4 como un array asociativo con claves de texto, por ejemplo: Array["¡Aquí está la clave!"]?

Sí, lo hay. Lea el artículo sobre este tema:"Recetas MQL5 - Implementación de un array asociativo o diccionario para un acceso rápido a los datos".

Karputov Vladimir:
Se accede a los elementos de un array mediante un índice. El índice es del tipo int completo.

Te recomiendo que también leas el artículo.

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

¡Buenos días a todos!

Necesito obtener del campo de entrada de la ventana del EA el plazo seleccionado por el usuario en la lista desplegable. (¿Cómo lo pego en la función, llevo dos días seguidos luchando con ello? Por favor, aconséjame)!

Código:

input enum timeFrame {
Hora_1 = 60,
Hora_4 = 240,
Día_1 = 1440,
Semana_1 = 10080

};

iADX(currencySelect, ¡Así se instalan los datos seleccionados!, ADXparam, PRICE_CLOSE, MODE_MINUSDI,2)

Gracias.

No reinventes la rueda. Hacer la enumeración ENUM_TIMEFRAMES como parámetro de entrada.

Karputov Vladimir:

Insertar correctamente el código en el foro

Aquí hay un ejemplo de un script que utiliza su enumeración:

¿Por qué aconseja un enfoque equivocado? Usted sabe muy bien que no tiene sentido inventarse su propia enumeración de plazos.

 
¡¡¡Gente!!! No entiendo el lenguaje en el que se escriben los expertos y los scripts en MT4 estos días. ¡Si comencé a reemplazar todas las funciones en mi código con funciones MQL5, el MetaEditor de la terminal MT4, no ha reconocido todas las funciones como funciones! Por ejemplo, esta función

ulong a =OrderGetTicket( 1); // número en la lista de pedidos

El MetaEditor no considera estafunción como tal. Y el parámetro(ORDER_POSITION_ID) en la función ---> positionID = OrderGetInteger(ORDER_POSITION_ID); no se considera como parámetro en absoluto...


 
Hola, puedes decirme por qué mis botones de depuración no están activos en metaeditore????source se inserta
 
Kira27:
¡¡¡Gente!!! No entiendo el lenguaje en el que se escriben los expertos y los scripts en MT4 estos días. ¡Si comencé a reemplazar todas las funciones en mi código con funciones MQL5, el MetaEditor de la terminal MT4, no ha reconocido todas las funciones como funciones! Por ejemplo, esta función

ulong a =OrderGetTicket( 1); // número en la lista de pedidos

El MetaEditor no considera estafunción como tal. Y el parámetro(ORDER_POSITION_ID) en la función ---> positionID = OrderGetInteger(ORDER_POSITION_ID); no se considera como parámetro en absoluto...


Lo más probable es que las funciones anteriores sean definidas por el usuario y que MU no necesite conocerlas. Tiene que declararlos y llamarlos correctamente usted mismo.