Discusión sobre el artículo "Traslado de MQL4 a MQL5" - página 5

 

¿Qué le parece OrderMagicNumber() ? Gracias

 
song_song:

¿Qué le parece OrderMagicNumber() ? Gracias

Ver ORDER_MAGIC
 

iBarShift() es fácil de usar pero iBarShiftMQL4() es bastante complejo. Y así sucesivamente...

 

¿Por qué tanto "TickValue() como SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)" devuelven siempre "0"?

 

Hola Rosh:

Estoy muy apreciado que usted dijo que:" Tengo planes para desarrollar el emulador MQL4, que le permitirá ejecutar sus programas MQL4 en nuevo terminal de cliente MetaTrader 5 ".

Yo no soy un buen diseñador de programas, pero un comerciante. MQL5 es demasiado difícil para mí.

Esperando su emulador MQL4. ¡TKS un Millón!

Mis mejores deseos para usted.

[Eliminado]  

He encontrado un error

Si sólo una ventana de gráfico está abierto. Entonces el ID de esta ventana de = -1

int WindowHandleMQL4(string symbol,
                     int tf)
  {
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   long currChart,prevChart=ChartFirst();
   int i=0,limit=100;
   while(i<limit)
     {
      currChart=ChartNext(prevChart);
      if(currChart<0) break; 
      if(ChartSymbol(currChart)==symbol
         && ChartPeriod(currChart)==timeframe)
         return((int)currChart);
      prevChart=currChart;
      i++;
     }
   return(0);
  }

-

int WindowHandleMQL4(string symbol,
                     int tf)
  {
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   long currChart,prevChart=ChartFirst();
   int i=0,limit=100;
   while(i<limit)
     {
      currChart=ChartNext(prevChart);
        
      if( currChart<0 && currChart != -1) break;
        
      if(ChartSymbol(currChart)==symbol
        && ChartPeriod(currChart)==timeframe)
         
         return((int)currChart);
      prevChart=currChart;
      i++;
     }
   return(0);
  }
 

También ten cuidado con la precedencia. Me pasé medio día depurando una lógica y descubrí que la precedencia de && y || son diferentes entre MQL4 (|| primero) y MQL5 (&& primero). Así que al migrar de MQL4 a MQL5, asegúrate de buscar en todas las expresiones de comparación.

Migrating from MQL4 to MQL5
  • 2010.05.17
  • Sergey Pavlov
  • www.mql5.com
This article is a quick guide to MQL4 language functions, it will help you to migrate your programs from MQL4 to MQL5. For each MQL4 function (except trading functions) the description and MQL5 implementation are presented, it allows you to reduce the conversion time significantly. For convenience, the MQL4 functions are divided into groups, similar to MQL4 Reference.
 
williamwong:

También ten cuidado con la precedencia. Me pasé medio día depurando una lógica y descubrí que la precedencia de && y || son diferentes entre MQL4 (|| primero) y MQL5 (&& primero). Así que al migrar de MQL4 a MQL5, asegúrate de buscar en todas las expresiones de comparación.

Estas en lo cierto. Ver Reglas de Precedencia:

Cada grupo de operaciones en la tabla tiene la misma prioridad. Cuanto más alta es la prioridad de las operaciones, más alta es la posición del grupo en la tabla. Las reglas de precedencia determinan la agrupación de operaciones y operandos.

Atención: La precedencia de las operaciones en el lenguaje MQL5 corresponde a la prioridad adoptada en C++, y difiere de la prioridad dada en el lenguaje MQL4.

[Eliminado]  
FinGeR:

He encontrado un error

Si sólo una ventana de gráfico está abierto. Entonces el ID de esta ventana de = -1

-

Mi error, es cierto :)

int WindowHandleMQL4(string symbol,
                     int tf)
  {
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   long currChart,prevChart=ChartFirst();
   int i=0,limit=100;
   while(i<limit)
     {
      
         currChart=ChartNext(prevChart);
      if(i==0)currChart=prevChart; // Wenn nur ein Chartfenster offen ist
  
      if( currChart<0) break;
        
      if(ChartSymbol(currChart)==symbol
        && ChartPeriod(currChart)==timeframe)
        
         return((int)currChart);
      prevChart=currChart;
      i++;
     }
   return(0);
  }
 

Hola


Me gustaría saber si todas estas funciones han sido validadas.

hacer funcionar la función "CopyBufferMQL4".


Gracias


Noel